継承は、オブジェクト指向プログラミングの 3 つの基本原則の 1 つです。
階層分類の作成を許可します。
継承を使用すると、一連の関連アイテムに共通の特性を定義する一般クラスを作成できます。
この一般クラスは、排他的な特性を追加する他のより具体的なクラスによって継承できます。
Java の専門用語では、継承されたクラスをスーパークラスと呼びます。
継承するクラスをサブクラスといいます。
サブクラスは、スーパークラスの特殊化されたバージョンです。
サブクラスは、スーパークラスからすべての変数とメソッドを継承し、独自の固有の要素を追加します。
継承の基本的な側面
Java は継承をサポートしており、あるクラスがその宣言に別のクラスを組み込むことができます。
これは extends キーワードを使用して行われます。
サブクラスは、スーパークラスに機能を追加 (拡張) します。
この例は、2 次元オブジェクトの幅と高さを格納する TwoDShape と呼ばれるスーパークラスの作成です。
TwoDShape を拡張するために Triangle というサブクラスが作成されます。
extends キーワードはサブクラスの作成に使用されます。
TwoDShape は、正方形、長方形、三角形などの一般的な 2 次元形状の属性を定義します。
Triangle クラスは TwoDShape のサブクラスであり、特定のタイプである三角形を作成します。
Triangle は TwoDShape からすべてを継承し、スタイル フィールド、area() メソッド、および showStyle() メソッドを追加します。
style は、三角形のスタイルを保存します。これには、「完全」、「輪郭」、「二等辺」などの任意の記述を指定できます。
area() メソッドは、三角形の面積を計算して返します。
showStyle() メソッドは、三角形のスタイルを表示します。
Triangle は、area() 内と t1 オブジェクトと t2 オブジェクト内で直接の両方で、TwoDShape の幅と高さのメンバーにアクセスできます。
TwoDShape は、Triangle のスーパークラスであるにもかかわらず、独立したクラスであり、個別に使用できます。
TwoDShape 形状 = new TwoDShape();
形状.幅 = 10;
形状.高さ = 20;
形状.showDim();
クラスのサブクラス名はスーパークラス名を拡張します {
// クラス本体
}
Java では、作成するサブクラスに対して 1 つのスーパークラスのみを指定できます。
Java は、C++ とは異なり、多重継承 (同じサブクラス内の複数のスーパークラスからの継承) をサポートしません。
サブクラスが別のサブクラスのスーパークラスになる継承階層を作成できます。
どのクラスもそれ自体のスーパークラスになることはできません。
継承の利点は、スーパークラスで複数のオブジェクトに共通の属性を定義でき、多数の特定のサブクラスを作成できることです。
各サブクラスは、スーパークラスに基づいて独自の特定の分類を定義できます。
この例としては、四角形をカプセル化する TwoDShape のサブクラスを作成します。
Rectangle クラスは TwoDShape のサブクラスです。
isSquare() メソッドを追加します。このメソッドは、長方形が正方形であるかどうか (幅が高さに等しい場合) を判断します。
長方形の面積を計算する area() メソッドも追加します。
以上が遺産の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。