継承(フィールド・メソッド・コンストラクタ)|Javaから楽しく学ぶ!ゲームプログラミング専門学校

Javaから楽しく学ぶ!ゲームプログラミング専門学校

ゲームプログラミングとはその名のとおりゲームのプログラムを作ることを指します。『Javaから楽しく学ぶ!ゲームプログラミング専門学校』ではゲームプログラミングについて、実際にゲームプログラムをJAVAプログラミング言語を使用し、作成していきながら詳しく解説していきます。

継承(フィールド・メソッド・コンストラクタ)

継承を行うことで上位クラスのフィールドやメソッドを下位クラスが引き継ぐことができます。
継承を扱ったサンプルコードを下記に示します。

public class ExSample{
public static void main(String[] args){
UsedCar usedcar;
usedcar = new UsedCar("ワゴンR", 60000, true);

System.out.println("車名 : " + usedcar.getName());
System.out.println("走行距離 : " + usedcar.getSokokyori());
System.out.println("事故有無 : " + usedcar.getJikoUm());
}
}

class Car{
public String name;
private int nenpi;
private int haikiryo;

public Car(String n){
name = n;
}

String getName(){
return name;
}

}

class UsedCar extends Car{
private int sokokyori;
private boolean jikoUm;

UsedCar(String n, int so, boolean j){
super(n);
sokokyori = so;
jikoUm = j;
}

int getSokokyori(){
return sokokyori;
}

String getJikoUm(){
String temp;
if(jikoUm == true){
temp = "事故車";
}else{
temp = "事故なし";
}
return temp;
}
}

あるクラスを継承したクラスを作成するには、クラスの宣言でextendsキーワードを付加します。

アクセス修飾子 class クラス名 extends 継承するクラス名


このサンプルでは、Carクラスの特徴をUsedCarクラス(中古車クラス)が引き継いでいます。
中古車クラスには走行距離を設定/取得するメソッドと事故車かどうかを設定/取得するメソッドを追加しています。

        System.out.println("車名 : " + usedcar.getName());
System.out.println("走行距離 : " + usedcar.getSokokyori());
System.out.println("事故有無 : " + usedcar.getJikoUm());

getName()メソッドは上位クラスであるCarクラスで定義されているメソッドであることに着目してください。


UsedCar(String n, int so, boolean j){
super(n);
sokokyori = so;
jikoUm = j;
}

上記がUsedCarクラスのコンストラクタになります。
上位クラスのコンストラクタを呼び出すために、superキーワードを用いています。
クラスを継承するとフィールドやメソッドは継承されますが、コンストラクタだけは継承されません。
そのため下位クラスとなるUsedCarクラスでもコンストラクタを定義しなければなりません。
しかし、superキーワードを用いることで上位クラスのコンストラクタを呼び出すことができるのです。

※下位クラスのコンストラクタにおいて、superキーワードを使って上位クラスのコンストラクタを呼び出さなかった場合、上位クラスのデフォルトコンストラクタ(引数なしのコンストラクタ)が自動的に呼び出されます。


このように継承を使うことにより、上位クラスでは足りない部分だけを補うだけで新しいクラスを作成することができます。
トラックバック:0Edit
Copyright © Javaから楽しく学ぶ!ゲームプログラミング専門学校 All Rights Reserved.
当サイトのテキストや画像等すべての転載転用・商用販売を固く禁じます