Javaベース-抽象クラス
1512 ワード
Javaベース-抽象クラス
一、抽象クラスの定義と要求
1、抽象類:普通類に基づいて抽象的な方法を拡張しただけである(普通類の強化版)
2、抽象クラス:宣言のみで実現されていないメソッド(メソッド体がなく、{}もない)
3、要件:すべての抽象メソッドはabstractを使用して定義され、抽象メソッドが存在するクラスはabstractを使用して定義され、抽象クラスを表す必要があります.(抽象メソッドは抽象クラスにある必要があり、抽象クラスには必ずしも抽象メソッドが存在しない)
4、
二、抽象類の使用原則
1、すべての抽象クラス
2、抽象クラスの
1この抽象クラスのサブクラスは普通のクラスであり、抽象クラスではないことを前提とする.
3、抽象クラスを使うメリット——
1、抽象クラスも構築方法を提供することができ、サブクラスもオブジェクトのインスタンス化プロセスに従い、親クラス構築方法を呼び出してから子クラス構築方法を呼び出す.
2、抽象クラス中
3、
4、抽象クラスの他のメソッドが抽象クラスの抽象メソッドを呼び出す場合、実際の
この点の用途:
①抽象クラスのインスタンスを直接作成することはできないため,サブクラスから実例化に移行するしかなく,どのサブクラスが上位に移行したのか,そのサブクラスで抽象クラスを実現するその方法を呼び出す.
②サブクラス構造メソッドに入る前に抽象クラスの構造メソッドに入る必要があるため、抽象クラスの構造メソッドでは抽象メソッドが呼び出される可能性があり、抽象クラスでは抽象メソッドの実現がないため、そのサブクラスが上書きされた抽象メソッドに入る.(複数のサブクラスが抽象クラスの抽象メソッドを継承し実現することを回避し、どちらを呼び出すか分からない)
5、内部抽象類(了解可)
子クラスは、親クラスの内部抽象クラスを管理する必要はありません.親クラスを管理する直接抽象メソッド(または、子クラスに内部クラスを追加して親クラスを継承する内部抽象クラス)のみが必要です.
一、抽象クラスの定義と要求
1、抽象類:普通類に基づいて抽象的な方法を拡張しただけである(普通類の強化版)
2、抽象クラス:宣言のみで実現されていないメソッド(メソッド体がなく、{}もない)
3、要件:すべての抽象メソッドはabstractを使用して定義され、抽象メソッドが存在するクラスはabstractを使用して定義され、抽象クラスを表す必要があります.(抽象メソッドは抽象クラスにある必要があり、抽象クラスには必ずしも抽象メソッドが存在しない)
4、
、
(抽象類は半製品にすぎない)二、抽象類の使用原則
1、すべての抽象クラス
(abstractとfinalは同時に使用できません.子クラスの有無)、子クラスはextendsを使用して親クラスを継承します.2、抽象クラスの
(abstractとprivateは同時に使用できない--上書きできるかどうか)1この抽象クラスのサブクラスは普通のクラスであり、抽象クラスではないことを前提とする.
(親が親の抽象メソッドの一部を上書きした親を継承した場合でも、子に上書きした場合でも)3、抽象クラスを使うメリット——
, ,
三、抽象類の関連規定1、抽象クラスも構築方法を提供することができ、サブクラスもオブジェクトのインスタンス化プロセスに従い、親クラス構築方法を呼び出してから子クラス構築方法を呼び出す.
2、抽象クラス中
であるが、このとき抽象クラス
である.3、
abstract final ——
, abstract private ——
. 4、抽象クラスの他のメソッドが抽象クラスの抽象メソッドを呼び出す場合、実際の
.この点の用途:
①抽象クラスのインスタンスを直接作成することはできないため,サブクラスから実例化に移行するしかなく,どのサブクラスが上位に移行したのか,そのサブクラスで抽象クラスを実現するその方法を呼び出す.
②サブクラス構造メソッドに入る前に抽象クラスの構造メソッドに入る必要があるため、抽象クラスの構造メソッドでは抽象メソッドが呼び出される可能性があり、抽象クラスでは抽象メソッドの実現がないため、そのサブクラスが上書きされた抽象メソッドに入る.(複数のサブクラスが抽象クラスの抽象メソッドを継承し実現することを回避し、どちらを呼び出すか分からない)
5、内部抽象類(了解可)
子クラスは、親クラスの内部抽象クラスを管理する必要はありません.親クラスを管理する直接抽象メソッド(または、子クラスに内部クラスを追加して親クラスを継承する内部抽象クラス)のみが必要です.