多態性
クラス b がクラス a を継承しており、a1,b1 を a,b のオブジェクト、aref を a の参照とします。a,b がメソッドplayを定義している場合、aref.playは、代入されるオブジェクトで異なるメソッドを呼び出すことができます。これを、多態性と呼び
ます。aref.playで呼び出すメソッドはコンパイル時には一意でなく、実行時に定まることになります。 詳細はこちらを参照して下さい。
// 抽象クラス: 硬貨
class Coin{
public abstract int value();
public String material="metal";
}
// 1円硬貨
class Coin1 extends Coin{
public int value(){
return 1;
}
}
// 10円硬貨
class Coin10 extends Coin{
public int value(){
return 10;
}
}