Java extends クラスの継承とは?

継承は、「引き継ぐ」と言う意味があります。

クラスの継承とは、
その名の通りクラスの機能(メンバ変数、メンバ関数など)を
引き継いで新しいクラスを作る
と言う意味です。

継承はインヘリタンスと呼ぶ場合もあります。

一般的な使い方としては、
基本的な機能を有する基本クラスを作っておき、
派生クラスでは、その基本クラスを継承して、
基本的な機能を取り込み、
それに加えて、新しく独自の機能を盛り込む。と言った感じです。

引継ぎ元となるクラスを
基本クラス基底クラスベースクラス
親クラススーパークラスなどと呼び、

そのクラスを引き継いで新しく作るクラスを
派生クラスサブクラス子クラスなどと呼びます。

派生クラスの定義では、
基本クラスで定義されていたメンバ変数やメンバ関数などは、
一切書く必要はなく、追加機能の実装だけに専念できるため、
非常にスマートな記述が可能です。

記述例

/********** 基本クラス **********/
class kihon {

      public int data1;

      public void show_data1() {
            System.out.printf("data1は%dです\n", data1);
      }

}

/********** 派生クラス **********/
class hasei extends kihon {      // 基本クラスkihonを継承して
                                 // 派生クラスhaseiを定義
      public int data2;

      public void show_data2() {
            System.out.printf("data2は%dです\n", data2);
      }
}

public class Cmain {

      public static void main(String[] args) {

      /***** 基本クラスの動作 *****/
            kihon a = new kihon();
            a.data1 = 10;
            a.show_data1();

      /***** 派生クラスの動作 *****/
            hasei b = new hasei();
            b.data1 = 10;        // 基本クラスメンバ
            b.show_data1();      // 基本クラスメンバ

            b.data2 = 50;        // 派生クラスメンバ
            b.show_data2();      // 派生クラスメンバ
      }
}

このプログラム例では、基本クラスkihonとその派生クラスhaseiの
簡単な継承例です。

基本クラスkihonのメンバ変数data1は、
継承によって、派生クラスhasei内にも存在する事になります。

同じく、基本クラスのメンバ関数は、全て継承されるので、
派生クラスのメンバ関数として使う事ができます。

タイトルとURLをコピーしました