ビデオ: Java教材 Javaオブジェクト指向講座「継承って何?」【アテイン株式会社】 2024
継承 は、他のクラスから派生したクラスを作成できるJavaプログラミングの機能を指します。別のクラス に基づくクラスは、他のクラスを継承します。継承されるクラスは、 親クラス、 基本クラス 、 または スーパークラスです。 継承を行うクラスは、 子クラス、 派生クラス、 サブクラスまたは サブクラスです。 <! - 1 - >
サブクラスは、基本クラスのすべての動作と属性を自動的に引き継ぎます。したがって、同一ではないが多くのフィーチャを共通に持つタイプを記述する複数のクラスを作成する必要がある場合は、すべての共通フィーチャを定義する基本クラスを作成できます。次に、共通の機能を継承するサブクラスを作成できます。サブクラスは、独自のメソッドとフィールドを定義して継承する基本クラスにフィーチャを追加できます。これは、派生クラスがそれ自身を基底クラスから区別する方法の1つです。
<! - 2 - >
サブクラスは、基本クラスによって提供される動作を変更することもできます。基本クラスは、それから派生したすべてのクラスにplayというメソッドを持たせることができますが、各クラスは独自のplayメソッドの実装を自由に提供します。この場合、基本クラスを拡張するすべてのクラスは、独自のplayメソッドの実装を提供します。サブクラスを作成するには、クラス宣言でextendsキーワードを使用して、基本クラスの名前を指定します。サブクラス宣言の基本形式は次のとおりです。
<!サブクラスは自動的にベースクラスのクラス本体を継承します。したがって、サブクラスは自動的にベースクラスのクラス本体を継承します。基本クラスによって定義されたメソッドまたはフィールドは自動的にサブクラスに含まれます。したがって、サブクラスのクラス本体には、サブクラスとその基本クラスを区別するメソッドまたはフィールドのみが含まれます。
たとえば、基本ボールを定義するBallという名前のクラスがあり、バウンスする機能を追加するBouncingBallという名前のサブクラスを作成するとします。public class BouncingBall extends Ball {public void bounce(){//バウンスメソッド}} サブクラスの作成に関する他の重要な情報を次に示します。 サブクラスはすべてのその基本クラスのメンバーしかし、コンストラクターはメンバーではないと考えられています。その結果、サブクラスは基本クラスからコンストラクタを継承しません 。 基本クラスから継承されたメンバーの可視性(パブリックまたはプライベート)は、サブクラスで同じです。つまり、基本クラスで宣言されているサブクラスのメソッドやフィールドからプライベートとしてアクセスすることはできません。
メソッドをオーバーライドするには、サブクラスで同じシグネチャを持つ新しいメンバを宣言します。
protectedと呼ばれる特殊な可視性は、フィールドやメソッドを他のクラスから隠しますが、サブクラスで利用できるようにします。
サブクラスに、メソッド、フィールド(private、public、またはprotected)をさらに追加できます。