クラスの継承とは

広告

まずクラスの継承とは何かについて見ていきます。

例として2つのクラスを作成することを考えて見ます。2種類の車に関するクラスを作成してみます。

class carA{
  public void accele(){
    ....
  }

  public void brake(){
    ....
  }

  public void hybrid(){
    ....
  }
}
class carB{
  public void accele(){
    ....
  }

  public void brake(){
    ....
  }

  public void openRoof(){
    ....
  }
}

carAとcarBはそれぞれ異なる特徴があるとします。ただ車としての基本的な機能は同じです。2つのクラスをそれぞれ別々に設計すれば同じ機能があるにも関わらずどちらも同じ記述をしなければいけない部分が出てきてしまいます。

そこで車としての基本的な設計部分は共通して、異なる部分だけ追加して設計すれば便利です。このような場合に、基本となるクラスをスーパークラスと言います。例えば下記のようなスーパークラスを作成してみます。

class car{
  public void accele(){
    ....
  }

  public void brake(){
    ....
  }
}

carAとcarBは、この基本クラスをベースに必要な部分を追加してクラスを設計します。

class carA extends car{
  public void hybrid(){
    ....
  }
}
class carB extends car{
  public void openRoof(){
    ....
  }
}

これで随分とすっきりしました。この時、carAとcarBはどちらもcarクラスを継承していると言います。またcarクラスがスーパークラスと呼ばれるのに対して、carAとcarBはcarクラスのサブクラスと呼ばれます。

継承の記述方法

クラスの継承を行う場合には下記のように記述を行います。

class subclass_name extends superclass_name{

}

クラス定義をを行う際に「extends」の後に継承したいスーパークラス名を記述します。

注意する点として、クラスの継承は一度に1つしか出来ないことです。継承したいクラスが複数あったとしても、Javaでは一度に1つのスーパークラスしか継承することは出来ません。

では次のページから詳しくクラスの継承について見ていきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)