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