継承
クラスBを定義する際、既存のクラスAがこれから定義するクラスBと類似していることが分かり、クラスBがクラスAの型である場合、クラスBはクラスAのサブクラスとして定義できる。
複数のクラスに共通の内容がある場合、その共通の内容を上方に抽出して新しいクラスに抽出することができ、この新しいクラスは継承と呼ばれる複数のクラスとの関係を形成します。
サブクラスが親クラスを継承すると、親クラスの継承可能なすべての属性と機能を自動的に所有します。
Notes
Java は単一継承のみをサポートし、多重継承はサポートせず、多層継承をサポートします。
すべてのクラスは、直接的または間接的に Object クラスを継承します。
コンストラクターは継承できません。
メソッドのオーバーライド
子クラスが親クラスを継承すると、継承可能なすべての属性が自動的に継承されます。親クラスの関数のプロパティ。しかし、サブクラスは、親クラスのメソッドが十分強力ではないと判断した場合、独自のロジックに従って親クラスのメソッドを書き換えることができます
。 メソッドのコピーおよびメソッドの上書きとも呼ばれます。
注意事項
1. @Override を使用して、メソッドのオーバーライドかどうかを確認できます
2. サブクラス メソッドの権限は、親クラス メソッドの権限以上である必要があります
3. 以下を推奨します。親クラスのメソッドと同じメソッドを使用します
親クラスのオブジェクトと子 クラスオブジェクトの作成過程
子クラスのオブジェクトよりも先に親クラスのオブジェクトが生成されます
子クラスのオブジェクトが作成されるたびに、親クラスの空のパラメーター コンストラクターは、親クラス オブジェクト (新しいオブジェクトではなく) を作成するためにデフォルトで呼び出されます
実際、サブクラスが親のコンテンツを取得したい場合は、親クラス オブジェクトがサブクラス オブジェクト内に作成されます。クラスの場合、そのような親クラスのスペースサポートが必要です。サブクラスの各コンストラクターの最初の行には、デフォルトの super () があり、親クラスの空のパラメーターコンストラクターを呼び出します
super (parameter) のコンストラクターメソッドを呼び出します。親クラス
thisとsuper
this:このクラスのオブジェクトの参照super:このクラスのオブジェクト内の親クラスの参照
thisの属性名はメンバーにアクセスします。このクラスの変数 this.メソッド名 (パラメータ) はこのクラスの他のメソッドにアクセスします
this (パラメータ) はこのクラスの他のコンストラクタにアクセスします (コンストラクタ メソッドの最初の行で使用する必要があることに注意してください) (理解してください)
super.property 名は親クラスのメンバー変数 (非プライベート) にアクセスします
super(parameter) は親クラスのコンストラクター (非プライベート) にアクセスします (注コンストラクターの最初の行で使用する必要があること)
this と super は、コンストラクターを呼び出すときに同じコンストラクターで同時に使用することはできません。両方とも最初の行で定義する必要があるためです。 。 コンストラクターを呼び出すときは、呼び出す前にそのようなコンストラクターがあることを確認する必要があります。そのようなコンストラクターがない場合は呼び出すことができません。
抽象メソッド:メソッド本体のないメソッドを抽象メソッドと呼びます抽象クラス:抽象メソッドを持つクラスは抽象クラスでなければなりません
抽象クラスの使い方
1.抽象クラスは作成できませんオブジェクト 2. 定義 サブクラスは抽象クラスを継承します
3. サブクラスは親クラスのメソッドをオーバーライドします
4. メソッドを呼び出すサブクラス オブジェクトを作成します
抽象クラスの詳細:
1. 抽象クラスは抽象メソッドを持つことができません
2. 抽象クラスは具象メソッドを持つことができます
3 .抽象クラスは親クラスである必要があります
4. サブクラスはすべての抽象メソッドをオーバーライドする必要があります。そうでない場合、サブクラスも抽象クラスになります
5. 抽象クラスにはコンストラクターがあり、サブクラスはコンストラクターを使用してメンバー変数に値を割り当てる必要があります
抽象クラスの登場
の意味 抽象クラスは、物事のクラスの最も基本的な属性と動作を定義します。サブクラスにその機能を強制的に実装します。サブクラスは、その抽象メソッドをオーバーライドする必要があります
抽象クラスの定義
* 抽象クラスの定義
* パブリック抽象クラス クラス名 {
*
*
* }
以上がオブジェクト指向 (継承、オーバーライド、this、スーパー、抽象クラス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。