饲养员喂养动物

饲养员在给动物喂食时,给不同的动物喂不同的 食物,而且在每次喂食时,动物都会发出欢快的 叫声。例如,给小狗喂骨头,小狗会汪汪叫;给 小猫喂食,小猫会喵喵叫。 本案例要求使用接口知识编写一个程序模拟饲养 员喂食动物的过程,案例要求如下: (1)饲养员给小狗喂骨头,小狗汪汪叫。 (2)饲养员给小猫喂小鱼,小猫喵喵叫。

编辑基本信息:

//此处加上自己的包名,例如:package Feed;
//定义Food的接口,设置食物类
interface Food{
    String getName();             //返回名字
    void setName(String name);    //设置名字
}
//定义抽象类Animal,设置动物行为
abstract class Animal{
    abstract void eat(Food food);  //喂食物
    abstract void shout();         //叫声
}
//喂食者
class Feeder{
    void feed(Animal animal,Food food) {     //传入动物类型和食物,喂食某种食物给某个动物
        animal.eat(food);
        animal.shout();
    }
}
//骨头
class Bone implements Food{
    String name;                         //定义名字
    public void setName(String name) {   //重写接口中的方法
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
//鱼
class Fish implements Food{
    String name;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
//猫
class Cat extends Animal{
    public void eat(Food food) {
        System.out.println("给小猫喂:"+food.getName());
    }
    public void shout() {
        System.out.println("喵喵喵...");
    }
}
//狗
class Dog extends Animal{
    public void eat(Food food) {
        System.out.println("给小狗喂:"+food.getName());
    }
    public void shout() {
        System.out.println("汪汪汪...");
    }
}

创建对象:

//此处加上自己的包名,例如:package Feed;
import java.util.Scanner;

public class feed {
    static void show() {      //静态方法,用于输出提示信息
        System.out.println("0:结束喂食" + "\t" + "1:喂小猫" + "\t" + "2:喂小狗");
    }
    public static void main(String[] args) {
        String name1 = "鱼";
        String name2 = "骨头";
        int num;
        Scanner in = new Scanner(System.in);
        Feeder feeder = new Feeder();
        Animal animal1 = new Cat();
        Animal animal2 = new Dog();
        Food food1 = new Fish();
        Food food2 = new Bone();
        OUT:
        while(true) {
            show();
            System.out.print("请选择:");
            num = in.nextInt();
            switch(num) {
                case 0:
                    System.out.println("结束喂食...");
                    break OUT;
                case 1:
                    food1.setName(name1);
                    feeder.feed(animal1,food1);
                    break;
                case 2:
                    food2.setName(name2);
                    feeder.feed(animal2,food2);
                    break;
            }
        }
    }
}

根据用户输入的代号选择喂食哪一个动物,也可以完善基本信息给同一个动物喂食不同食物产生不同的情绪。

  • 6
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是Java饲养员喂养动物的示例代码: ```java public class Feeder { public void feed(Animal animal, String food, int amount) { System.out.println("Feeding " + animal.getClass().getSimpleName() + " " + amount + "g of " + food); animal.eat(); } } public class Animal { public void eat() { System.out.println("Time to eat!"); } } public class Dog extends Animal { @Override public void eat() { System.out.println("Dog is eating."); } } public class Cat extends Animal { @Override public void eat() { System.out.println("Cat is eating."); } } ``` 在这个示例中,我们定义了一个Feeder类,它有一个feed方法,该方法接受一个Animal对象、食物名称和数量作为参数。在feed方法中,我们打印出正在喂养动物食物信息,然后调用Animal对象的eat方法。 我们还定义了一个Animal类,它有一个eat方法,该方法在这里只是打印出“Time to eat!”的信息。我们还定义了Dog和Cat类,它们都继承自Animal类,并覆盖了eat方法以提供特定于该类的行为。 下面是一个使用示例: ```java public static void main(String[] args) { Feeder feeder = new Feeder(); Dog dog = new Dog(); Cat cat = new Cat(); feeder.feed(dog, "bone", 100); feeder.feed(cat, "fish", 50); } ``` 在这个示例中,我们创建了一个Feeder对象、一个Dog对象和一个Cat对象,并使用Feeder对象的feed方法来喂养它们。输出将是: ``` Feeding Dog 100g of bone Dog is eating. Feeding Cat 50g of fish Cat is eating. ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值