第13回 新しいクラス(1)

  
参考書 Lesson 11.1(参考書p.340)
    
13 新しいクラス
 
 11.1 継承
 
・継承のしくみを知る
 - 既存のクラスを継承して新しいクラスを作成して、機能を拡張する 
 - 新しいクラスは、既存クラスのメンバ(変数、メソッド)を受け継ぐ

   継承されるクラス(親クラス) ・・・ スーパークラス
   新しいクラス(子クラス) ・・・ サブクラス

・クラスを拡張する
 - サブクラスの宣言は extends を用いる

Carクラスを継承して、RacingCarクラスを宣言する>
class RacingCar extends Car // レーシングカークラス(サブクラス
{
  int course;

  public RaceingCar(){ // コンストラクタ
      :
  }
  public void setCourse(int c){ // 追加(拡張)するメソッド
      :
  }
}
class Car // 車クラス(スーパークラス
{
  int num;
  double gas;

  public Car(){ // コンストラクタ
      :
  }
  public void show(){
      :
  }
}

 
 - サブクラスはスーパークラスの内容を包含する
 
 
 
・サブクラスのオブジェクトを作成する
 - サブクラスのオブジェクト作成は、普通のクラスと同じ方法で行う

   RacingCar rc = new RacingCar();

 - サブクラスのオブジェクトでは、スーパークラスの変数・メソッドも利用できる
 
RacingCarクラスのオブジェクトを作成する>
class Sample1
{
  public static void main(String [] args)
  {
    RacingCar rc = new RacingCar();

    rc.setCourse(5)// サブクラスのメソッドを呼び出す
    rc.num = 1234;  // スーパークラスの変数
    rc.gas = 20.5;
    rc.show();   
  // スーパークラスのメソッドを呼び出す
       :
  }
}

class RacingCar extends Car // レーシングカークラス(サブクラス
{
  int course;

  public RaceingCar(){ // コンストラクタ
      :
  }
  public void setCourse(int c){ // 追加(拡張)するメソッド
     
  }
}
class Car // 車クラス(スーパークラス
{
  int num;
  double gas;

  public Car(){ // コンストラクタ
      :
  }
  public void show(){
      :
  }
}

 
  
・スーパークラスのコンストラクタを呼び出す
 - サブクラスのコンストラクタで、最初にスーパークラスのデフォルトコンストラクタが自動的に呼ばれる  

・スーパークラスのコンストラクタを指定する
 - サブクラスのコンストラクタで super(); を記述してスーパークラスのコンストラクタを呼び出すことができる
 - super(); の引数によって呼び出すコンストラクタを選択できる
 
Carクラスを継承して、RacingCarクラスを宣言する>
class RacingCar extends Car // レーシングカークラス(サブクラス
{
  int course;

  public RaceingCar(){ // コンストラクタ
   /* ここでCarクラスのコンストラクタ public Car() が自動的に呼ばれる */
      :
  }
    :
}
class Car // 車クラス(スーパークラス
{
  int num;
  double gas;

  public Car(){ // コンストラクタ
      :
  }
    :
}
 
 - super(); および this(); は、コンストラクタの最初に記述しなければいけない

    
  
  
 演習
 
  演習のページへ