利用java写代码设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下编写抽象类Animal Animal抽象类有两个抽象方法cry0和getAnimalName0,即要求各种具体的动物给出自己的叫声和种类名称。 编写模拟器类Simulator 该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry0方法播放具体动物的声音,调用子类重写的getAnimalName0方法显示动物种类的名称。编写Animal类的子类:Dog和Cat类 图5.18是Simulator、Animal、Dog、Cat的UML图在主类Application的main方法中至少包含如下代码: Simulator simulator = new Simulator0:simulatorplaySound(new Dog0);simulatorplaySound(new Cat0);
时间: 2023-06-10 10:08:47 浏览: 274
好的,我明白了你的要求,并且不会透露给其他人。下面是利用Java代码设计一个动物声音“模拟器”的实现过程:
首先,我们需要编写一个抽象类Animal,其中定义了两个抽象方法cry()和getAnimalName(),用于各种具体动物给出自己的叫声和种类名称。
```java
public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
```
接着,我们需要编写一个模拟器类Simulator,其中有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。
```java
public class Simulator {
public void playSound(Animal animal) {
System.out.print(animal.getAnimalName() + "的叫声是:");
animal.cry();
}
}
```
最后,我们需要编写两个Animal类的子类Dog和Cat类,分别实现cry()和getAnimalName()方法。
```java
public class Dog extends Animal {
public void cry() {
System.out.println("汪汪汪");
}
public String getAnimalName() {
return "狗";
}
}
public class Cat extends Animal {
public void cry() {
System.out.println("喵喵喵");
}
public String getAnimalName() {
return "猫";
}
}
```
在主类Application的main方法中至少包含如下代码:
```java
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
```
这样就完成了一个动物声音“模拟器”的设计与实现,它可以模拟多种不同动物的叫声,具有较好的可扩展性和灵活性。
阅读全文