JAvaオブジェクト向けの深い理解(一)

3174 ワード

JAvaオブジェクト向けの深い理解
なぜオブジェクト向けのプログラミングを使用するのですか?
利点:管理者にとって、開発とメンテナンスがより速く、より便利になります.分析と設計者にとって、モデリング処理をより簡単にし、設計案をより明確にし、メンテナンスしやすい.開発者にとって、強力なオブジェクト向けツールとライブラリにより、作成したホイールを開発時に簡単に使用できます.
欠点:オブジェクト向けのプログラム設計を行う際には、プログラム化思考ではなくイメージ思考を採用する.オブジェクト設計プロセスは、特に多重化されたオブジェクトを設計する課題を有する.
まとめ:実際の開発過程では、少量の大神だけが優れた安定した、使いやすい車輪を設計することができ、多くの開発者は車輪を利用して異なる道を走っているだけだ.
抽象化
世の中の万事万物は対象だ.オブジェクトは、データを保存し、自身を操作できる新しい変数として理解できます.オブジェクトが作成されると、スタックメモリに独自のストレージスペースが開き、他のオブジェクトを収容できます.プログラムは多くのオブジェクトを組み合わせて、メッセージを通じて、各オブジェクトに自分の職能を履行させます.意図を実行するには、対応するオブジェクトを呼び出し、プロパティとメソッドを使用するだけです.
唯物弁証法の観点から見ると、対象の間にはつながりがあり、例えば、国語の先生、数学の先生たちはみな教えるという技能を持っていて、教壇で授業をするという行為を実行しなければならない.彼らは同じ特徴と行為を持っていて、このような人の事物を高度に抽出して、類を形成して、彼らはすべて先生のこの種類に属している.各オブジェクトはクラスのインスタンスです.クラスの最も重要な特徴は、どのような情報を送信できるかです.同じクラスのすべてのオブジェクトが同じメッセージを受信できます.例を挙げます.
タイプが「円」のオブジェクトもタイプが「形状」のオブジェクトに属するため、円はシェイプメッセージを完全に受信できます.これは、プログラムコードが「形状」を統一的に指揮し、「形状」の記述に合致するすべてのオブジェクトを制御できることを意味し、「円」が自然に含まれる.この特徴をオブジェクトと呼ぶ置換性概念はOOPの最も重要な概念の一つである.ここで、里式置換の原則(LSP)と併せて、原則として、子オブジェクトは親オブジェクトに付与されてもよいし、子オブジェクトは親オブジェクトに置換されてもよいし、親オブジェクトが出現する可能性のある任意の場所に現れると言ってもよい.逆に、親オブジェクトは子オブジェクトに置換されてはならない.次に、コードで説明します.
class Shape{
    void shape(){
        System.out.println("the shape");
    }
}
class Circle extends Shape{
    void circle(){
        System.out.println("the circle");
    }
}
public class Math{
    public static void main(String[] args) {
        /**
         *  Circle      ,    shape
         *   Circle   Shape,         super            
         *             ,           。
         *   Circle                 
         * Shape       ,    Circle      
         *   ,         ,    
         *            。      “  ”。
         */
        Shape shape=new Circle();
        shape.print();
    }
} 

オブジェクトのインタフェース
各オブジェクトは、独自の共通の特徴と動作を持つ特定のクラスに属します.クラスを作成すると、状況に応じて多くのオブジェクトを生成し、問題を解決する要素として使用できます.各オブジェクトは特定のリクエストのみを受け入れることができ、リクエストはインタフェースによって定義され、インタフェースの形式はクラスによって定義されます.クラスとインタフェースの等価または対応関係は,オブジェクト向けプログラム設計の基礎である.
class Light {
    void on(){}
    void off(){}
    void brighten(){}
    void dim(){}
}
public class Action{
    public static void main(String[] args) {
        Light it=new Light();
        it.on();
    }
}