Javaデザインのアイデア
OOP(オブジェクト指向プログラミング)
クラスとオブジェクト
オブジェクト指向では、クラスとオブジェクトが最も基本的で重要なコンポーネントです。
クラス:クラスは、オブジェクトのクラスの動作と状態を記述するテンプレートと言えます。
オブジェクト:オブジェクトはクラスのインスタンスです。対応する状態と次
の動作クラスは何ですか:現実のシミュレーション、データとコードのカプセル化。
それが生活の中で一般的な動物の犬である場合、それはクラスであると言うこともでき、次のような特定のオブジェクト:中国の牧歌的な犬、ハスキー、パグなど、それぞれの犬は、対応する特性(属性)と動作(方法)、犬の色、名前などの特性、吠える、水泳、食べるなどの動作を備えたオブジェクトであると言えます。 、など。
一般的に言えば、クラスは、同じ特性(属性)と動作(メソッド)を持つオブジェクトのグループ
を記述するオブジェクトのコレクションです。オブジェクトの特性は、色など、クラス内のクラスの属性として表されます。名前、犬の種類など。ハスキーとパグはどちらも犬ですが、名前や色が異なる場合があります
。オブジェクトの動作はクラスのメソッドです。たとえば、犬は吠えることができる動作をしているので、「吠える方法」はクラスのメソッドです。
実際の例をいくつか示します。クラスとオブジェクトの理解を容易にするための例
クラス | オブジェクト |
---|---|
人 | 試験を受けているハン・メイメイ、クラスの学生であるシャオ・ミン、そしてチャンピオンであるチャン・サン |
動物 | 喧嘩中の犬、眠っている猫、水中の魚 |
インターフェース
インターフェースとは何ですか?
本のjavaとパターンの例は非常に鮮やかです:家庭で一般的に使用されるソケット用に扇風機を外し、コンピューターの充電プラグを差し込むことができます。つまり、これらのアプライアンスはすべてプラグイン可能な構造です。それらはすべてソケットと一致するプラグを持っているので、プラグイン可能です。
そうすると、いわゆるインターフェースは実際にはソケットに相当します。プラガブル構造は私たちが使用する電気器具です。インターフェースは構造のプラガビリティを実現するための鍵です。インターフェースは
何のためのものですか?
1:クラス間の相互作用の仕様
2:関数ユーザーと関数プロバイダー間のインターフェースを定義する
なぜインターフェースを使用するのですか?
1:変更を分離する
2:インターフェースはプラグ可能性を保証する
抽象クラス
抽象クラスの目的は何ですか:変更と不変性を許容します。
抽象クラスは型の実現の一部のみを提供します。抽象メソッドと具体的なメソッドが同時に存在する可能性があります。抽象メソッドは変更の一部であると言えます。具体的な方法は不変性の一部です。
OOPの3つの特徴
カプセル化
カプセル化は、このクラスのコードとデータが外部クラスによって定義されたコードによってランダムにアクセスされるのを防ぐための保護バリアと見なすことができます。このクラスのコードとデータにアクセスするには、インターフェイス制御が必要です。カプセル化によりコードを作成できます。
カプセル化された利点の保守と理解が容易:
1:カプセル化により結合を減らすことができる
2:カプセル化されたクラス内のコードを自由に変更できる
3:実装の詳細を非表示にする
継承
継承は、Javaオブジェクト指向プログラミング技術の基礎です。継承とは、サブクラスが親クラスの特性と動作を継承することを意味します。そのため、サブクラスオブジェクト(インスタンス)は、親クラスのインスタンスドメインとメソッドを持つか、サブクラスが継承します。親クラスからのメソッド。これにより、子クラスは親クラスと同じ動作をするか、サブクラスが親クラスの動作をオーバーライドして独自の動作を再実装します。
継承された機能:
1:サブクラスに非プライベートがあります。親クラスのプロパティ、メソッド
2:サブクラスは独自のプロパティとメソッドを持つことができます。つまり、サブクラスは親クラスを拡張できます
3:サブクラスは独自の方法で親クラスのメソッドを実装できます
4:Java継承は単一の継承ですが、複数の継承が可能です。単一の継承は、サブクラスが1つの親クラスのみを継承できることを意味します。複数の継承は、たとえば、クラスAがクラスBを継承し、クラスBがクラスCを継承することを意味します。したがって、関係によれば、クラスCはクラスBの親クラスであり、クラスBはクラスAの親クラスです
。5:クラス間の結合を改善します。
ポリモーフィズム
ポリモーフィズムは同じ動作であり、異なる症状、同じインターフェイス、異なるインスタンス実装が異なる結果をもたらす可能性があります
ポリモーフィズムが提供するもの:変更を実現する方法
ポリモーフィズムの利点:
1:
2の間の結合関係のタイプを排除します:交換可能
3:拡張可能
4:柔軟で簡素化
OOP再利用の形式
クラスとクラスの関係:
1:継承
2:
組み合わせを保持し、クラス2は
クラス1のインスタンスを保持しますクラス2はクラス1を使用します