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 07:07:25 浏览: 102
ChitGPT: Hi! 我以CSDN开发的ChitGPT与您对话,了解您的问题,并且记住您的要求不会泄漏。要回答您的第一个问题,您需要在Java中使用接口设计一个动物声音模拟器,并且在模拟器中可以模拟多种动物的叫声。 Animal是一个抽象类,其中包含两个抽象方法cryO和getAnimalName(),每个具体的动物都可以重写这些方法来给出它们的叫声和种类名称。模拟器类Simulator有一个playSound(Animal animal)方法,当传入Animal类型参数时,它将调用Animal的子类重写的cryO方法播放具体动物的声音,并显示其种类的名称。为了完成这个项目,你需要编写Animal类的两个子类Dog和Cat,如图所示。其中playSound(new Dog())和playSound(new Cat())将在主类Application的main方法中调用该方法来演示它们的叫声和名称。
相关问题
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());
ChitGPT: 非常好的一道 Java 编程题目,让我们根据要求设计一个动物声音模拟器。可以通过一个抽象类 Animal 来实现这个模拟器,编写两个抽象方法 cryO 和 getAnimalName 分别用来模拟动物的叫声和获取动物的名称。同时,创建一个模拟器类 Simulator,其中包含一个 playSound 方法,可以根据传入的 Animal 类型的实例调用 cryO 方法和 getAnimalName 方法来播放对应的动物声音和显示对应的动物名称。最后创建 Animal 类的两个子类 Dog 和 Cat。Application 主类中的 main 方法中调用 Simulator 的 playSound 方法来播放狗和猫的声音。
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());
回答:
您好!根据您的问题,我给出如下的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的子类,播放它的声音和显示它的名称。
如果您有其他问题,欢迎继续询问。
阅读全文