継承とは何ですか?

零下一度
零下一度オリジナル
2017-07-23 16:56:021836ブラウズ

1. 継承とは何ですか?

あるクラスが別のクラスのすべての公開プロパティと動作を持てるようにするメカニズム。

2. 継承の目的

あるクラスが別のクラスのすべての動作と属性を持ち、これらの属性と動作の数が多く、他のクラスによって共有されている場合、この クラスは次のように定義できます。サブクラスは、コードの再利用を実現するために別のクラスを継承します。

3. 継承の影響

サブクラスは親クラスの非プライベートなメソッドとプロパティを持ちます。

4. 継承に関する制限

  • コンストラクター: パラメーター化されたコンストラクターが明示的に作成されると、デフォルトのパラメーターなしコンストラクターはクリアされます。 サブクラスのパラメータなしコンストラクタは、デフォルトで親クラスのパラメータなしコンストラクタを呼び出します。親クラスにパラメータなしコンストラクタがない場合、コンパイルは通りません。 追記: 抽象クラスにはコンストラクターがありますが、インターフェイスにはコンストラクターがありません。まずメンバー変数を初期化してから、コンストラクターを呼び出します。

  • 単一継承: Java では、クラスは extends キーワードを通じて 1 つの親クラスのみを継承できます。

  • メソッドの書き換え: 参考。

  • 結合の程度: サブクラスは親クラスを継承します。親クラスの変更はサブクラスに大きな影響を与えます。

5. 利用条件

クラスは継承機会を1つしか持たず、継承により結合が増加するため、継承機会を維持し結合を減らすために、1つのクラスのみが他のクラスと同じになります。メソッドが多数ある場合は、継承の使用を検討してください。それ以外の場合は、インターフェイスを実装するか、デコレータ パターンなどのデザイン パターンを採用することを検討してください。

6. インターフェースの継承

インターフェースは複数のインターフェースを継承できるため、他のインターフェースの抽象メソッドを持ち、継承された抽象メソッドを実装する必要はありません。

以上が継承とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。