用java设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。 (1)编写一个接口Animal,Animal接口有2个抽象方法cry()和getAnimalName(),即要求实现该接口的各种具体的动物类给出自己的叫声和种类名称。 (2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音,调用重写的getAnimalName()方法显示动物种类的名称。 (3)编写实现Animal接口的Dog类和Cat类,下图是Simulator、Animal、Dog、Cat的UML图。 (4)编写主类Application(用户程序),在主类Application的main方法中至少包含如下代码:Simulator simulator=new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat());
时间: 2024-03-07 22:49:40 浏览: 104
好的,这是一个简单的Java程序设计。以下是代码实现:
```java
// Animal接口
public interface Animal {
void cry();
String getAnimalName();
}
// Dog类实现Animal接口
public class Dog implements Animal {
@Override
public void cry() {
System.out.println("汪汪汪!");
}
@Override
public String getAnimalName() {
return "狗";
}
}
// Cat类实现Animal接口
public class Cat implements Animal {
@Override
public void cry() {
System.out.println("喵喵喵!");
}
@Override
public String getAnimalName() {
return "猫";
}
}
// Simulator类
public class Simulator {
public void playSound(Animal animal) {
animal.cry();
System.out.println("这是一只" + animal.getAnimalName());
}
}
// 主类Application
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两个类,这两个类都实现了Animal接口,并且重写了cry()方法和getAnimalName()方法。最后我们定义了一个Simulator类,其中有playSound()方法,这个方法接收一个Animal类型的参数,并且调用cry()方法播放动物的声音,调用getAnimalName()方法显示动物种类的名称。在主类Application中,我们创建了一个Simulator对象,并且调用了playSound()方法分别传入Dog和Cat对象作为参数。
当我们运行程序时,它将输出以下内容:
```
汪汪汪!
这是一只狗
喵喵喵!
这是一只猫
```
这就是一个简单的动物声音模拟器程序。
阅读全文