継承とは?

Java

継承とは、あるクラスの特徴を別のクラスが受け継ぐことを言います。

この時、既存のクラスをスーパークラス(親クラス)、特徴を受け継いだクラスをサブクラス(子クラス)、と言います。

継承のイメージ

自動車と消防車を例にとって考えてみましょう。

消防車は自動車の一種です。

自動車が持っている能力(走る、止まる)は消防車も持っています。

それに加え、消防車には「放水する」という能力もあります。

このように、共通の能力を受け継ぐことを継承と言います。

書き方

それでは実際に、コードの書き方を見てみましょう。

自動車を定義するCarクラスと、消防車を定義するFireTruckクラスを作成します。
どちらも「走る」、「止まる」能力は持っており、消防車だけ、「放水する」能力を持っています。

初めに、継承を使って書いた場合を見てみます。

Carクラス(スーパークラス)

class Car{

 //「走る」処理
 public void run(){
  System.out.println("走るよ");
 }

 //「止まる」処理
 public void stop(){
  System.out.println("止まるよ");
 }

}


FireTruckクラス(サブクラス)

class FireTruck extends Car{

 //「放水する」処理
 public void water(){
  System.out.println("放水するよ");
 }

}

クラス名の後に「extends (スーパークラスの名前)」と記述することで継承することができます。

そして、サブクラスにはスーパークラスでは書いていない処理だけを記述すれば良いのです。

継承をしないで書いた場合、FireTruckクラスは次のようになります。

class FireTruck{

 //「走る」処理
 public void run(){
  System.out.println("走るよ");
 }

 //「止まる」処理
 public void stop(){
  System.out.println("止まるよ");
 }

 //「放水する」処理
 public void water(){
  System.out.println("放水するよ");
 }

}

このように、Carクラスで書いた「走る」処理と、「止まる」処理をFireTruckクラスでも書く必要があります。

継承をすることで、コードの重複を回避することができるのです。

まとめ

・継承元のクラス:スーパークラス(親クラス)

・継承先のクラス:サブクラス(子クラス)

・継承の書き方

class サブクラス名 extends スーパークラス名

・継承のメリット:コードの重複を回避

コメント

  1. […] […]

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