案例描述

饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如,给小狗喂骨头,小狗会汪汪叫;给小猫喂食,小猫会喵喵叫。

本案例要求编写一个程序模拟饲养员喂食动物的过程,案例要求如下:

  1. 饲养员给小狗喂骨头,小狗汪汪叫。
  2. 饲养员给小猫喂小鱼,小猫喵喵叫。

运行结果:

代码如下:

创建抽象类:

/*** 2022/3/17*/
public abstract class Animal {   // 动物类(抽象)private String name;public Animal(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}abstract void Jiao();abstract void eat(Food food);}

创建狗类猫类继承抽象类:

/*** 2022/3/17*/
public class Dog extends Animal{  // 狗类继承动物类@Overridepublic void Jiao() {System.out.println("旺旺旺!");}@Overridevoid eat(Food food) {System.out.println(super.getName() + "正在吃着香喷喷的:" + food.gatName());}public Dog(String name) {super(name);}
}
/*** 2022/3/17*/
public class Cat extends Animal{   // 猫类继承动物类@Overridepublic void Jiao() {System.out.println("喵喵喵!");}@Overridevoid eat(Food food) {System.out.println(super.getName() + "正在吃着香喷喷的:" + food.gatName());}public Cat(String name) {super(name);}
}

定义食物类接口:

/*** 2022/3/17*/
public interface Food {   // 食物类String gatName();
}

定义骨头类和鱼类实现食物类:

/*** 2022/3/17*/
public class Bone implements Food{  // 骨头类实现食物类@Overridepublic String gatName() {return "骨头";}
}
/*** 2022/3/17*/
public class Fish implements Food{   // 鱼类继承动物类实现食物类@Overridepublic String gatName() {return "黄花鱼";}
}

定义饲养员类:

/*** 2022/3/17*/
public class Breeder {  // 饲养员类private String name;public Breeder(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void hy(){  // 说明System.out.println("欢迎来到动物园!");System.out.println("我是饲养员:" + getName());}public void wei(Animal a , Food food){  // 创建wei类  传入动物类与食物类a.eat(food);  // 通过动物类调用eat方法,传入食物对象}
}

定义测试类:

/*** 2022/3/17*/
public class Dongwutext {   // 测试类public static void main(String[] args) {Breeder b = new Breeder("小陈");  // 创建饲养员类对象b.hy();Animal cat = new Cat("大花猫");   // 通过多态创建猫类对象cat.Jiao();Food f1 = new Fish();   // 创建鱼类对象b.wei(cat , f1);   // 通过对象调用wei方法Animal dog = new Dog("小黄狗");  // 创建狗类对象dog.Jiao();Food f = new Bone();   // 创建骨头类对象b.wei(dog,f);}
}

[案例4-2]饲养员喂养动物相关推荐

  1. 【案例 4-2】饲养员喂养动物

    [案例目标] 案例描述 饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发 出欢快的叫声.例如,给小狗喂骨头,小狗会汪汪叫:给小猫喂食,小猫会喵喵叫. 本案例要求编写一个程序 ...

  2. 【案例4-2】饲养员喂养动物

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

  3. 【java】饲养员喂养动物程序设计

    以动物园中饲养员给动物喂食为业务背景,让同学们体会"抽象类.类的继承.接口.接口实现类.方法重写和多态"等面向对象思想的综合应用. 动物园有饲养员,以及狗.猫这两种动物.饲养员给不 ...

  4. JAVA入门_继承与重载_饲养员喂养动物

    JAVA入门_继承与重载_饲养员喂养动物 实验要求 Tiger类 Feeder类 MainClass 运行结果 实验要求 本实验要求:本实验以饲养员喂养老虎为业务背景,体验"函数重载&quo ...

  5. 题目:16版.饲养员喂养动物

    1.实验要求 本实验要求:本实验以饲养员喂养老虎为业务背景,体验"函数重载"的价值. 1-1. 业务说明: 1-1.1. 本实验以动物园饲养员喂养动物为业务背景: 1-1.2. 动 ...

  6. java基础案例 饲养员喂养动物

    案例描述 饲养员在给动物喂食时,给不同的动物喂不同的食物.例如,饲养员XXX拿着XX克bone喂养dog:饲养员XXX拿着XX克fish喂养cat. 本案例要求编写一个程序模拟饲养员喂食动物的过程,案 ...

  7. 多态练习题(通过UML建模语言来实现饲养员喂养动物)

    项目需求如下图: package com.Summer_0428.cn; /*** @author Summer* 1.构建一个食物抽象类,Bone和Fish分别为其实现类,通过super传参.* 2 ...

  8. java基础案例4-2饲养员喂养动物

    package com.itheima;class Animal{void shout(){} }class Dog extends Animal{static void shout(String f ...

  9. 编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为

    返回本章节 返回作业目录 需求说明: 以继承和多态思想模拟饲养员喂养不同动物的不同行为 动物园有饲养员和动物,其中动物有老虎.马.猴子.羊.狼等. 饲养员对不同的动物有不同的喂养行为. 实现思路: 以 ...

最新文章

  1. vmware安装mac终于成功
  2. 七、前端开发-JavaScript HTTP
  3. python 避免多重条件嵌套_如何避免多层嵌套函数
  4. linux使用权限模式启动mongodb,Linux安装MongoDB启动及常见问题解决
  5. E. The Child and Binary Tree(生成函数 + 多项式)
  6. [转载] java排序compareTo:降序输出学生成绩
  7. 学Python可以用来干什么?就业情况究竟怎么样?
  8. Springcloud电子商城系统 java B2B2C-服务消费者(rest+ribbon)
  9. 图像超分辨去噪(去雨雾)
  10. Canvas: trying to use a recycled bitmap android.graphics.Bitmap
  11. git上传详细步骤和提交代码的各种报错解决方式.
  12. 骨传导耳机优缺点有哪些?骨传导耳机科普与推荐
  13. android qq消息数 拖拽动画,史上最详细仿QQ未读消息拖拽粘性效果的实现
  14. PyTorch实现断点继续训练
  15. 长距离无线通讯LoRa应用介绍
  16. CPU FPU DSP MPU的概念介绍
  17. 如192.168.1.10/27 IP斜杠后面的27是什么意思?
  18. 计算机科学与技术专业用英文版,计算机科学与技术专业专业英文简历模板
  19. 误判心理学常见心理倾向
  20. 程序员牛逼的摸鱼神器来了?上班也可以在看股票、基金实时数据~

热门文章

  1. 网页短链接的实现原理
  2. 个人记账软件 共享及有条件开源
  3. 用高德地图实现点击地图添加标记点,获取该点的经纬度,详细地址,通过输入框进行地址搜索自动定位到输入框地址
  4. linux查看历史的所有命令,linux查询历史记录命令history的用法介绍
  5. JavaScript之DOM学习笔记
  6. 计算机主机的是指什么,电脑基本操作包括哪些 电脑的基本的操作是指什么
  7. 速览|京东云11月产品与功能更新
  8. 剖析Framework面试-笔记(二)
  9. 在机器人面前,人类怎样做才能不悲观
  10. indexedDB 存储 js文件 xml文件 大文件缓存 并导出使用