設計一個動物聲音模拟器,希望模拟器可以模拟許多動物的叫聲,要求如下:
1.編寫抽象類Animal
Aminal抽象類有兩個抽象方法cry()和getAnimalName(),即要求各種具體的動物給出自己的叫聲和種類名稱。
2.編寫模拟器類Simulator
該類有一個playSound(Animal animal)方法,該方法的參數是Animal類型。即參數animal可以調用Animal的子類重寫的cry()方法播放具體動物的聲音,調用子類重寫的 getAnimalName()方法顯示動物種類的名稱。
3.編寫Animal類的子類:Dog類和Cat類
public abstract class Animal {
String name;
abstract void cry();
String getAnimalName(){
return name;
}
}
public class Simulator {
void playSound(Animal animal){
if(animal instanceof Dog){
Dog dog=(Dog) animal;
dog.cry();
}
else
if(animal instanceof Cat){
Cat cat=(Cat) animal;
cat.cry();
}
}
}
public class Dog extends Animal{
void cry(){
System.out.println("汪~汪~汪~");
}
}
public class Cat extends Animal {
void cry(){
System.out.println("喵~喵~喵~");
}
}
public class Application {
public static void main(String[] args) {
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}