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

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

(1)饲养员给小狗喂骨头,小狗汪汪叫。

(2)饲养员给小猫喂小鱼,小猫喵喵叫。

此案例八个类(其中包含一个接口)

Animal类

public abstract class Animal {private String name;public Animal() {}public Animal(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}//动物叫的方法public abstract void shout();public abstract void eat(Food food);
}

Bone类

public class Bone implements Food{@Overridepublic String gerName() {return "骨头";}
}

Cat类.

public class Cat extends Animal{public Cat() {}public Cat(String name) {super(name);}@Overridepublic void shout() {System.out.println("喵喵喵");}@Overridepublic void eat(Food food) {System.out.println(getName()+"正在吃着香喷喷的"+food.gerName());}
}

Dog类

public class Dog extends Animal{public Dog() {}public Dog(String name) {super(name);}@Overridepublic void shout() {System.out.println("汪汪汪");}@Overridepublic void eat(Food food) {System.out.println(getName()+"正在吃着香喷喷的"+food.gerName());}
}

Feeder类

public class Feeder {private String name;public Feeder() {}public Feeder(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void speak(){System.out.println("欢迎来到饲养园");System.out.println("我是饲养员"+getName());}public void feeder(Animal a,Food food){a.eat(food);}
}

Fish类

public class Fish implements Food{@Overridepublic String gerName() {return "黄花鱼";}
}

Food类(接口)

public interface Food {public abstract String gerName();
}

Test类

public class Test {public static void main(String[] args) {Feeder f=new Feeder("小华");f.speak();Dog dog=new Dog("哈士奇");dog.shout();f.feeder(dog,new Bone());Cat cat=new Cat("波斯猫");cat.shout();f.feeder(cat,new Fish());}
}

结果展示

【案例4-2】饲养员喂养动物相关推荐

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

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

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

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

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

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

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

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

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

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

  6. [案例4-2]饲养员喂养动物

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

  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. 干掉 Postman?测试接口直接生成API文档,这个工具我爱了
  2. 因为WPFe JavaScript到了不得不学的地步
  3. laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy
  4. 【CodeForces - 1047C】Enlarge GCD(数学,枚举,预处理打表,思维)
  5. mysql 分页 jdbc_JDBC调用MySQL分页存储过程实现(一)
  6. Ubuntu PIL 安装
  7. springboot 项目 测试环境在独立的tomcat部署
  8. 20200516每日一句
  9. PHP-基于ipip.net制作的IP查询接口源码
  10. Activiti7的用法和简述
  11. unity 导入STL格式模型(STL 文本ASCII码格式文件)
  12. beta 值和 M 值: 衡量样本甲基化水平的金标准
  13. 不支持虚拟化的cpu如何开VM虚拟机(不支持,即“主机不支持Intel VT-x,不是支持Intel VT-x,但Intel VT-x禁处于禁用状态!!!!!!)
  14. 关于Bundle Adjustment的直观理解
  15. 描写油菜花的好句好段
  16. 统计表格中相同数据的出现个数
  17. #小何不断努力# Day1
  18. 【豌豆荚 360助手】发布第一个私人项目
  19. 【博客625】keepalived开启garp refresh的重要性
  20. net start mysql启动mysql,提示发生系统错误5拒绝访问解决方法

热门文章

  1. POJ 2152 fire / SCU 2977 fire(树型动态规划)
  2. [kaggle]华盛顿单车数据预测
  3. java 伪造邮箱地址_java如何实现伪造发信地址---针对于邮件攻击
  4. html自动适应屏幕分辨率,关于HTML的屏幕分辨率适配的方法,求主流HTML自适应方法。...
  5. php注册 用cdn,国外免费CDN加速及防护:CloudFlare注册使用教程
  6. 【读书笔记】期权交易策略(1)
  7. luogu1979 华容道
  8. 《痞子衡嵌入式半月刊》 第 50 期
  9. 【RC延迟电路与快速泄放电路】 multisim 14.0仿真 RC延迟电路与快速泄放电路
  10. shell随机输出一个人或多个人的学号及姓名