设计一个动物声音模拟器,希望模拟器可以模拟许多动物的叫声,要求如下: (1)编写接口 Animal。 Animal接口有两个抽象方法Cry()和getAnimalName(),即要求实现该按口的各种具体动物类给出自己的叫声和种类名称。 (2)编写模拟器类 Simulator。该类有一个playSound(Animal animal) 方法,该方法的参数是 Animal 类型,即参数animnal 可以调用实现 Animal 按口类重写的 cryC)方法播放具体动物的声音,调用重马的 setAnimalName()方法显示动物种类的名称。 (3)编写实现 Animal 接口的 Dog类和 Cet 类。图6.14 是Simulator.Animal. Dog 、Cat 类的 UML 图。 <<interface>> Animal Simulator playSound(Animal):void cry:void getAnimalName:String Cat Dog cry:void cry :void 图6.14 UML 类图 (4)编写主类 Application(用户程序)。在主类 Application 的main 方法中至少包含如下 代码: Simulator simulator = new Simulator (); simulator. playSound(new Dog ()) ; simulator. playSound(new Cat ()) ;
时间: 2023-12-10 22:38:11 浏览: 76
动物声模拟_动物叫声模拟器_
5星 · 资源好评率100%
好的,下面是代码实现:
Animal接口:
```java
public interface Animal {
void cry();
String getAnimalName();
}
```
Simulator类:
```java
public class Simulator {
public void playSound(Animal animal) {
System.out.print(animal.getAnimalName() + "叫声:");
animal.cry();
}
}
```
Dog类:
```java
public class Dog implements Animal {
@Override
public void cry() {
System.out.println("汪汪汪!");
}
@Override
public String getAnimalName() {
return "狗";
}
}
```
Cat类:
```java
public class Cat implements Animal {
@Override
public void cry() {
System.out.println("喵喵喵!");
}
@Override
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());
}
}
```
运行结果:
```
狗叫声:汪汪汪!
猫叫声:喵喵喵!
```
阅读全文