本案例要求用java编写一个程序模拟饲养员喂食动物的过程,案例要求如下: 饲养员给小狗喂骨头,小狗汪汪叫。 饲养员给小猫喂小鱼,小猫喵喵叫
时间: 2024-02-09 18:10:21 浏览: 156
好的,我理解了你的要求。以下是Java代码实现:
```java
public class AnimalFeeding {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
Feeder feeder = new Feeder();
feeder.feed(dog, new Bone());
feeder.feed(cat, new Fish());
}
}
interface Animal {
void eat(Food food);
String getSound();
}
class Dog implements Animal {
public void eat(Food food) {
System.out.println("小狗在啃骨头。");
}
public String getSound() {
return "汪汪";
}
}
class Cat implements Animal {
public void eat(Food food) {
System.out.println("小猫在吃小鱼。");
}
public String getSound() {
return "喵喵";
}
}
interface Food {}
class Bone implements Food {}
class Fish implements Food {}
class Feeder {
public void feed(Animal animal, Food food) {
animal.eat(food);
System.out.println(animal.getSound() + "叫。");
}
}
```
在上面的代码中,我们定义了三个接口和三个类。`Animal`接口定义了动物的基本行为,包括吃和叫两个方法。`Dog`和`Cat`类实现了`Animal`接口,并重写了`eat`和`getSound`方法。`Bone`和`Fish`类分别实现了`Food`接口,表示饲养员给动物喂的食物。`Feeder`类表示饲养员,其中的`feed`方法接收一个`Animal`对象和一个`Food`对象,调用动物的`eat`方法,然后输出动物的叫声。
在`main`方法中,我们创建了一个`Dog`对象和一个`Cat`对象,然后创建了一个`Feeder`对象并调用其`feed`方法,分别给动物喂食,输出了动物的叫声。
当我们运行这个程序时,会输出以下内容:
```
小狗在啃骨头。
汪汪叫。
小猫在吃小鱼。
喵喵叫。
```
这表示程序已经成功模拟了饲养员给小狗喂骨头、小狗汪汪叫和饲养员给小猫喂小鱼、小猫喵喵叫的过程。
阅读全文