Javaのオブジェクト指向
オブジェクト指向三つの特徴:
- 継承
- パッケージ
- ポリモーフィズム
継承
目的:コードの再利用を実現するために
具体的な説明:
- 2つのサブクラスは、同じプロパティとメソッドを持っている場合は、共通の親を抽出し、同じ場所の一部であってもよいです。
- 親クラスを継承サブクラスは、サブクラスの継承のプロパティとメソッドは、親クラス(プライベートメソッドやコンストラクタに加えて)持っています
- 親クラスのサブクラスは上書きすることができ、かつ同じ名前の父親という名前のクラスのメンバ変数:リライト
- 唯一のプロパティとサブクラス自身と利用可能なアクセスの方法(
protect
修正)
機能範囲のクラスのメンバのアクセス修飾子
タイプ | 民間 | 何も変更しない(バッグリミット) | 保護(およびサブクラスパッケージの制限) | 公衆 |
---|---|---|---|---|
同じクラス | ✅ | ✅ | ✅ | ✅ |
同じパッケージ内サブクラス | ❎ | ✅ | ✅ | ✅ |
同じパッケージ内の非子クラス | ❎ | ✅ | ✅ | ✅ |
異なるパッケージの中性子クラス | ❎ | ❎ | ✅ | ✅ |
異なるクラスのパッケージnonsubtyped | ❎ | ❎ | ❎ | ✅ |
パッケージ
定義:隠されたオブジェクトのプロパティと実装の詳細、パブリックアクセスレベルインターフェース制御への唯一のオープンは読み込みと変更します
目的:セキュリティを強化するために、簡素化プログラミング
基本的には:プロパティの民営化は、getを追加し、設定方法、アクセス事業への制御インタフェース
ポリモーフィズム
多くの異なる形態またはフォームで同じ動作を持っている能力
同じインターフェース、異なるインスタンス、異なる操作
ポリモーフィック実装
- リライト
- インターフェース
- 抽象クラスと抽象メソッド
Javaのよくある質問
書き換えとリロード
書き換え上書き
- サブクラスは、親クラスにアクセスできるように書換え、戻り値は変更されず、パラメータ(シェル変更、書き換え可能なコア)
- 書き換えは、新しい例外をスローしない、またはでき広範な例外(息子や息子、私以上に強いです)
- 最終的に、静的書き換えることができない、施工方法をオーバーライドすることはできません
過負荷過負荷
- クラス、同じメソッドの名前、異なる引数、戻り値の型は、同じでも異なっていてもよいです
- オーバーロードコンストラクタ
書き換え、過負荷をとの違い
インタフェースと抽象クラスの比較
シンタックスのレベル差
インターフェース | 抽象クラス |
---|---|
唯一の抽象メソッドがあります | メンバー・メソッドは、実装の詳細を提供します |
抽象のメンバ変数が存在することができ | メンバ変数の様々な種類があります。 |
静的メソッドと静的コードブロックが含まれていません | コードブロックは、静的及び静的メソッドであってもよいです |
クラスは複数のインターフェイスを実装することができ | クラスは抽象クラスを継承することができます |
の設計レベルとの差
インターフェース | 抽象クラス |
---|---|
抽象行動 | 抽象的なもの |
物事のローカル行動のための抽象 | 抽象プロパティ、メソッド:全体のことについて |
インターフェイスは、放射線設計の行動規範であります | 抽象スーパークラスのサブクラスの多くを行うには、テンプレートデザイン |
変更後は、実装クラスを変更する必要があります | 変更後は、実装クラスを変更してもよいです |