継承

既に存在するクラスの情報をそのまま引継ぎ新しいクラスを作成することができます。
そのことを継承といいます。

つまり、継承することで元になるクラスの情報つまり属性、操作をそのまま使うことが でき、さらに新しい情報を追加できます。

次の図をみてください。

たとえばここにパソコンクラスがあったとします。
パソコンクラスには情報としてキーボードとマウスがあります。

そこで、ノートパソコンクラスはパソコンクラスの情報をそのまま引継ぎました。
それにさらに DVD-ROMクラスを追加してDVDを見れるようにしました。

つまり、パソコンクラスとノートパソコンクラスは継承関係にあるといえます。
つまりここでの親クラスはパソコンクラスでノートパソコンクラスを子クラスに
なるわけです。

javaではこのような親クラスのことをスーパークラス
子クラスのことをサブクラスといいます。

継承の定義方法

元になるクラス     :スーパークラス
継承したクラス     :サブクラス

定義の仕方は キーワード extends を 使います

class ノートパソコンクラス extends パソコンクラス

サンプルプログラム(Sample46.java)

class Super46{

    void method(){
         System.out.println("これはスーパクラスから引き継ぎました");
  }
}
class Sub46 extends Super46{

 //サブクラスには何も定義しません!
    }

class Sample46{
    public static void main(String args[]){

   Sub46 obj = new Sub46();

      obj.method();
    }

}

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。

今回は継承関係をわかりやすくするために、あえてサブクラスには
何も定義しませんでした。

class Sub46 extends Super46 で継承を定義しています。
このことでSub46はスーパークラスであるメソッドmethod()の情報を
引き継ぎました。

また、Sample46ではSub46のオブジェクトを生成してインスタンス化しています。
サブクラスSub46には処理内容を何も記述していません。

しかし、obj.methodでスーパークラスのメソッドが呼び出されています。
これは、Sub46がSuoper46の情報を取得しているからなのです。
これが継承と呼ばれるものです。

継承のルール

ただ継承にもルールがあります。
それは多重継承できません。
サブクラスはスーパークラスを複数持つことができません。

ページのトップへ戻る