オブジェクト向けオブジェクト向けの4つのプロパティ

2883 ワード

1.カプセル化

  • を使用してオブジェクトの「プロパティ」(Variable)を保護します.
  • 客体のカプセル化はシオンヒルワールドでも見られます
  • コンピュータ本体には多くの部品がありますが、電源を入れるには、マザーボードに直接電気信号を送信するのではなく、外部エンクロージャの電源ボタンで電源をオン/オフにします.
  • 01.方法設計

  • プロパティが宣言されていますが、ステータスを変更する方法がない場合は、宣言されたプロパティは無効です.
  • 、すなわち、
  • は、属性状態を変更する機能を提供する.
  • は、すべてのエンティティオブジェクトの機能を提供します.
  • 例えば、自動車のタクシー、返却、走行距離計算等、計
  • .
    各メソッドには相関がある必要があります
  • 車両のレンタル/返却、自動車登録/ログアウトなどの各属性の相対機能を提供する.
  • オブジェクト内のメソッドは、オブジェクト内の属性を処理する必要があり、他のオブジェクトによって定義された属性を直接処理することはできません.
  • セグメントでは、メソッドで実行するために必要な値は、オブジェクトではなくパラメータで渡さなければなりません.
  • 02.メソッドタイプ

  • Getter/Setter Method
    アプリケーション
  • は、外部から直接内部属性(Valible)にアクセスするのではなくGetter/Setterメソッドを介して
  • CRUD Method
  • データ処理の基本方法
  • Business Logic Method
  • は、ビジネスロジックを処理する方法
  • を提供する.
  • オブジェクトのライフサイクル処理方法
  • 一般的な除去()や切断()などのquit()などの方法
  • オブジェクトの永続的な管理方法
  • の永続性(有効性)プロパティを変更する必要がある場合は、外部からアクセスできないプライベートとして宣言し、内部の他の方法で
  • を使用できます.
  • メソッド属性は必ずしも1つではなく、複数の属性
  • であってもよい.

    メリット

  • オブジェクトモードの1つに対する抽象化を提供する
  • 実際には、メソッドがどのように動作するかを理解する必要はありません.これらの機能は、単純な呼び出しではなく実行できます.これにより、オブジェクト単位でプログラム
  • を設計できます.
  • 可用性の向上
  • の1つのオブジェクトに関連する属性および方法は、オブジェクトのモジュール性および凝集力を向上させるためにパッケージ化された形式で提供される.リサイクル性の向上
  • プログラムでメソッドを再使用する場合は、関数が参照するグローバル変数と内部呼び出しのメソッドの影響を確認する必要がありますが、オブジェクトの再利用性は非常に高いです.これは、単一のオブジェクトにのみ影響するためです.
  • をリードしているため、メンテナンス効率が向上します.
  • 04.整合性

  • が一般的なカプセル化符号化である場合、主な形式は変数をプライベートと宣言し、方法をパブリックと宣言することである.
  • はオブジェクトの整合性のためであり,Getter/Setterの他にpublicメソッドは基本的に入力したパラメータをValidationした後に実行される.
  • Vallicationでは、オブジェクトの値を変更したり、値を有効にしたりできます.

    2.継承

  • オブジェクト向けの継承は属性の継承ではなく、下ほど具体的である
  • 01.継承された効果

  • のプログラム構造に対する理解を高める
  • の最上位レベルの構造を表示し、下位レベルの動作を理解します.
  • 再使用性の向上
  • 継承を使用すると、クラスに必要なすべての属性とメソッドを定義することなく継承を取得し、
  • を使用できます.
  • 拡張性の向上
  • 一貫したクラスオブジェクトを追加することで、プログラム
  • を簡単に拡張できます.
  • EX)新型烏日爾
  • 保守性の向上
  • 各オブジェクトが独自のメソッドを定義している場合は、多くのコード変更が必要ですが、継承を使用すると、一貫したフォーマット
  • を作成できます.

    3.多形性

  • とは、1つのオブジェクトが複数の形状になることを意味する、オブジェクトに面する
  • と同様である.
  • 多形性カバー

  • Unit 저글링 = new 저글링();
    Unit 시즈탱크 = new 시즈탱크();
    Unit 레이스 = new 레이스();
    Unit 뮤탈 = new 뮤탈();
    
    unitMove(저글링);
    unitMove(시즈탱크);
    unitMove(레이스);
    unitMove(뮤탈);
    
    private void unitMove(Unit unit) {
    	unit.move();
    }

    4.抽象化

  • オブジェクト向けの抽象はモデリング
  • である.
  • 具体的には、共通の部分、または特性分離組換えの部分を
  • と抽象化する.
  • より前に学習した多方向性,継承性は抽象化に属する.