饲养员喂抽动物,具体要求如下: 1、定义一个动物接口Animal,包括一个eat()方法表示吃。 2、定义一个猫类Cat ,实现Animal接口,在eat()方法中输出猫吃什么。 3、定义一个狗类Dog,实现Animal接口,在eat()方法中输出狗吃什么。 4、定义一个食物抽象类Food,包括name(食物名称)、getFood()方法和setFood()方法。 5、定义一个食物鱼类Fish,继承Food类,输出饲养员给猫喂什么。 6、定义一个食物骨头类Bone,继承Food类,输出饲养员给狗喂什么。 7、定义一个饲养员类Feederd ,在main()方法中实现给某种动物投喂某种食物。
时间: 2024-03-18 14:40:32 浏览: 183
下面是代码实现:
```java
// 动物接口
public interface Animal {
void eat();
}
// 猫类
public class Cat implements Animal {
public void eat() {
System.out.println("猫吃鱼");
}
}
// 狗类
public class Dog implements Animal {
public void eat() {
System.out.println("狗吃骨头");
}
}
// 食物抽象类
public abstract class Food {
protected String name;
public String getFood() {
return name;
}
public void setFood(String name) {
this.name = name;
}
}
// 鱼类
public class Fish extends Food {
public Fish() {
name = "鱼";
}
public String toString() {
return name;
}
}
// 骨头类
public class Bone extends Food {
public Bone() {
name = "骨头";
}
public String toString() {
return name;
}
}
// 饲养员类
public class Feeder {
public void feed(Animal animal, Food food) {
System.out.println("饲养员给" + animal.getClass().getSimpleName() + "喂" + food.getFood());
animal.eat();
}
}
// main方法
public static void main(String[] args) {
Feeder feeder = new Feeder();
Animal cat = new Cat();
Animal dog = new Dog();
Food fish = new Fish();
Food bone = new Bone();
feeder.feed(cat, fish);
feeder.feed(dog, bone);
}
```
输出结果为:
```
饲养员给Cat喂鱼
猫吃鱼
饲养员给Dog喂骨头
狗吃骨头
```
阅读全文