要求:问题:设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。
1编写抽象类Animal
Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。2编写模拟器类Simulator
该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。3编写Animal类的子类:Dog,Cat类
思路:看着UML类图写就行
Animal.java
public interface Animal{ public void cry(); public String getAnimalName(); }
Simulator.java
public class Simulator{ void playSound(Animal animal) { System.out.println(animal.getAnimalName()); animal.cry(); } }
Dog.java
public class Dog implements Animal{ public void cry() { System.out.println("汪汪汪"); } public String getAnimalName() { return "这是狗"; } }
Cat.java
public class Cat implements Animal{ public void cry() { System.out.println("喵喵喵"); } public String getAnimalName() { return "这是猫"; } }
Application.java
public class Application { public static void main(String[] args) { Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat()); } }