6章 継承
学習のポイント
親子関係のあるクラスに注目して、「継承」のコーディング方法について理解しましょう。
1. 継承とは? | |
「人間(Human)」という汎用的なクラスを作成して、フィールド・メソッドを定義します。次に、人間クラスから、「生徒(Seito)」クラスを作成します。この時、最初から、生徒クラスを作成するのではなく、もともとある「人間」クラスをもとに不足している部分のみを追加してクラスを作成すると効率的です。更に、生徒クラスをもとにして、「高校生(Koukousei)/」クラスを作成します。
このようにあるクラスをもとにして新たなクラスを作成することを「継承」といいます。人間クラスを「スーパークラス」といい、生徒クラスを「サブクラス」と言います。また、高校生クラスのスーパークラスは、生徒クラスとなります。 |
|
2. 継承の構文 | |
継承する場合、スーパークラスは1つのみ指定できます。これを「単一継承」といいます。JavaやC#単一継承です。C++は複数のスーパークラスを指定できる「多重継承」が許されています。
以下が継承の構文です
public class クラス名 extend スーパークラス名{ |
|
3. 人間「Human」クラスの作成 | |
クラス「Human」の作成 このクラスは、フィールドに「名前」「性別」があり、メソッドとしてフィールドのゲッター及び画面表示メソッドがあります。
|
|
4. 生徒「Seito」クラスの作成 | |
ここから継承です。Humanクラスをスーパークラスとする「Seito」クラスを作成します。生徒クラスには、フィールド「学籍番号」が追加されます。また、スーパークラスの画面表示メソッド「disp()」をオーバーライドします。
|
|
5. 高校生「Koukousei」クラスの作成 | |
次に、生徒クラスをスーパークラスとする「高校生クラス」「Kouousei」を作成します。このクラスでは、新たに、制服というフィールドを追加します。
|
|
6. 実行「CMain」クラスの作成 | |
では、最後に、メインクラスで3つのクラスのインスタンス化をし、dispメソッドを呼び出しましよう。
コンソールの表示結果
スーパークラスHumanのdisp()より |
|
7. まとめ | |
このようにより効率的にクラスを設計するために「継承」は欠かせない機能となっています。その他、オブジェクト指向では、以下のものがあります。
■ 抽象クラスと抽象メソッド |
継承・インターフェース・ポリモーフィズムをもっと学びたいという方は「pafuイーランスクール」「Javaオブジェクト指向講座」よりご確認ください。また、書籍のみご希望の方は「こちら」よりご確認ください。
メニューへ戻る