Java クラスの継承における原則とは何か
Javaのクラス継承では、あるクラス(サブクラス)が別のクラス(スーパークラス)の特徴や振る舞いを継承する。
- 単一継承とは、Javaのクラスが単一の上位クラスのみを継承できるようになっていることをいいます。つまり、サブクラスは直接の上位クラスのみを継承できます。これは、クラス間の衝突や多重継承の複雑さを回避するためです。
- サブクラスはスーパークラスのフィールドやメソッドを受け継ぎます。
- 継承した親クラスのフィールドやメソッドをもとに、それぞれのニーズに合わせた新たなフィールドやメソッドを追加できる。
- サブクラスは継承した親クラスのメソッドをオーバーライドすることができます。サブクラスは親クラスから継承したメソッドのメソッド名とパラメータのリスト(メソッドシグネチャ)は同じままに、メソッドの動作や実装の詳細を変更することができます。
- サブクラスは超(スーパークラス)キーを使用して親のコンストラクタを呼び出して親のステータスを初期化できます。
- 親クラスのprivateのフィールドやメソッドは子供クラスに継承されません。子供クラスは、親クラスのprivateのフィールドやメソッドに直接アクセスできず、親クラスのpublicやprotectedのメソッド経由で間接的にアクセスできます。
継承を用いると、コードの再利用性と拡張性を図り、コードの保守性と可読性を向上させることができます。ただし、継承に関する設計原則に従うことに注意し、継承の深さや幅が過度にならないようにすることで、コードの簡潔性と保守性を維持することができます。