- 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:
(1)编写接口Animal
Animal接口有2个抽象方法cry()和getAnimaName(),即要求实现该接口的各种具体动物类给出自己的叫声和种类名称。
(2)编写模拟器类Simulator
该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音、调用重写的getAnimalName()方法显示动物种类的名称。
(3)编写实现Animal接口的Dog类和Cat类
图1是Simulator、Animal、Dog、Cat的UML图。
(4)编写主类App,在主类Application的main方法中至少包含如下代码:
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
代码如下:
public interface Animal {
abstract void cry();
abstract String getAnimalName();
}
public class Dog implements Animal{
@Override
public void cry() {
System.out.println("汪汪汪~");
}
@Override
public String getAnimalName(){
return "小狗";
}
}
public class Cat implements Animal{
@Override
public void cry() {
System.out.println("喵喵喵~");
}
@Override
public String getAnimalName(){
return "小猫";
}
}
public class Simulator{
public void playSound(Animal animal){
System.out.println(animal.getAnimalName());
animal.cry();
}
}
public class App {
public static void main(String[] args) {
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}