设计一个动物声音模拟器,希望模拟器可以模拟许多动物的叫声,要求如下:
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());
}
}