オブジェクト指向言語の便利な特性、多相性(ポリモーフィズム)


オブジェクト指向言語の便利な特性に多相性(ポリモーフィズム)がある。ポリモーフィズムとは、オブジェクトが複数の型に所属可能な性質のことをいう。例えば、インターフェース型の配列に各種実装クラスのオブジェクトを代入することによって、各オブジェクト特有の振舞いを簡単に選択できるようになる。

JAVAコードで実例をしめすと次のようになる。

public class Polymorphism{

public static void main(String[] args){

Robot[] robotArray = new Robot[5];
robotArray[0] = new Gundam();
robotArray[1] = new MazingerZ();
robotArray[2] = new Reideen();
robotArray[3] = new GetterRobo();
robotArray[4] = new SteelJeeg();

while(true){
try{
Thread.sleep(3000); //3秒Sleep
}catch(Exception e){
e.printStackTrace();
}
int randomInt = (int)(Math.random()*5);
System.out.println(robotArray[randomInt].attack());
}
}
}

interface Robot{
public String attack();
}

class Gundam implements Robot{

public String attack(){
return “Beam rifle”;
}

}

class MazingerZ implements Robot{

public String attack(){
return “Rocket punch”;
}

}

class Reideen implements Robot{

public String attack(){
return “God bird”;
}

}

class GetterRobo implements Robot{

public String attack(){
return “Getter Beam”;
}

}

class SteelJeeg implements Robot{

public String attack(){
return “Jeeg crusher”;
}

}

Polymorphismresult


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です