Java代码:Java编程用接口设计一个动物声音模拟器,希望模拟器可以模拟许多动物的叫声,要求如下: 编写抽象类Animal。Animal 类有两个抽象方法cryO和getAnimalName(),即要求各种具体的动物给出自己的叫声和种类名称。 编写模拟器类Simulator。该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型、即参数animal可以调用Animal的子类重写的cryO方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。 编写Animal类的子类Dog和Cat。下图是Simulator,Animal,Dog,Cat类的UML图 编写主类 Application(用户程序)。在主类Application 的 main 方法中至少包含如下代码: Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat());
时间: 2023-06-09 11:07:25 浏览: 249
回答:
您好!根据您的问题,我给出如下的Java代码。
Animal.java
public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
Dog.java
public class Dog extends Animal {
@Override
public void cry() {
System.out.println("汪汪汪!");
}
@Override
public String getAnimalName() {
return "狗";
}
}
Cat.java
public class Cat extends Animal {
@Override
public void cry() {
System.out.println("喵喵喵!");
}
@Override
public String getAnimalName() {
return "猫";
}
}
Simulator.java
public class Simulator {
public void playSound(Animal animal) {
animal.cry();
System.out.println("这是一只" + animal.getAnimalName());
}
}
Application.java
public class Application {
public static void main(String[] args) {
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
这个程序可以运行,并且可以实现您的需求。在Animal类中定义了cry()方法和getAnimalName()方法,这两个方法在Dog类和Cat类中被重写,以便不同的动物发出不同的叫声,并显示它们的种类名称。Simulator类中的playSound()方法接受Animal类型的参数,因此可以传入任何Animal的子类,播放它的声音和显示它的名称。
如果您有其他问题,欢迎继续询问。
阅读全文