项目需求如下图:

package com.Summer_0428.cn;
/*** @author Summer* 1.构建一个食物抽象类,Bone和Fish分别为其实现类,通过super传参。* 2.构建一个动物类,对于Dog类和Cat类,分别使用多态,使food父类引用实现子类方法。* 3.构建饲养员类,分别传入Food类和Animal类,多态的应用。**/
/**食物父类*/
abstract class Food{private String name;public Food(String name) {this.name = name;}public String getName() {return name;}
}class Bone extends Food{public Bone(String name) {super(name);}}class Fish extends Food{public Fish(String name) {super(name);}}/**动物父类*/
abstract class Animal{//多态public abstract void eat(Food food);
}class Dog extends Animal{@Overridepublic void eat(Food food) {//多态System.out.println("小狗吃"+food.getName());        }
}class Cat extends Animal{//多态
@Overridepublic void eat(Food food) {System.out.println("小猫吃"+food.getName());        }
}class Feeder{public void feed(Food food,Animal animal){//多态System.out.println("饲养员喂养");animal.eat(food);}
}public class TestFeeder {public static void main(String[] args) {Bone bone = new Bone("骨头");Fish fish = new Fish("鱼");Dog dog = new Dog();Cat cat = new Cat();Feeder Tom = new Feeder();Tom.feed(bone, dog);Tom.feed(fish, cat);}}

转载于:https://www.cnblogs.com/summerdata/p/10786767.html

多态练习题(通过UML建模语言来实现饲养员喂养动物)相关推荐

  1. 需求分析——掌握UML建模语言的用例图

    在前面的课程中,我们主要讨论了人脉V1.0系统的角色及角色间的关系,也讨论了角色的属性和行为.在这节课中,我们将使用UML建模语言的用例图对人脉V1.0系统的角色及角色行为建立系统功能模型. 在建模之 ...

  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  3. 【UML 建模】UML建模语言入门-视图,事物,关系,通用机制

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. UML视图 1. Ration ...

  4. 面向对象基础及UML建模语言

    1.面向对象的方法起源于面向对象程序设计语言,其发展过程大体经历了初始阶段.发展阶段和成熟阶段. 2.面向对象方法主要优点 (1)从认识论的角度可以看出,面向对象方法改变了开发软件的方式. (2)面向 ...

  5. 需求分析——掌握和使用UML建模语言顺序图模型

    在前面的文章中,我们建立了类图模型,类图模型描述了系统的类及类之间的关系.类图模型也称为系统的静态结构,因此从类图模型中我们还看不到业务的处理过程以及类与类交互的信息,在UML建模语言中,这些信息是通 ...

  6. 【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...

  7. [原]UML建模语言进阶 - 用例视图详解 用例视图建模实战

    一. 用例视图概述 用例视图表述哪些事物 :谁是相关用户,用户希望从系统获得的服务,用户需要为系统提供的服务. 用例视图的作用 : 使用户容易理解 其中元素的用途 , 使码农更容易实现这些元素. 软件 ...

  8. UML建模语言中的类图

    实验目的 通过上机实验,掌握类图的语法和规则,深入理解类图的概念 实验环境 Window下安装StarUML 实验内容 介绍类图的基本语法与规则(可以用图形表述): UML类图中的关系分为四种:泛化. ...

  9. UML建模语言中的顺序图

    实验目的 通过上机实验,掌握顺序图的语法和规则,深入理解顺序图的概念 实验环境 Window下安装StarUML 实验内容 介绍顺序图的基本语法与规则(可以用图形表述): 顺序图描述了对象之间传递消息 ...

最新文章

  1. Linux的fork实现原理,【Linux】Fork炸弹详解
  2. [Scoi2016]背单词[字典树+dfs重构树[类似虚树]]
  3. vue transition
  4. 杭电ACM 2017
  5. 黑客攻防技术宝典web实战篇:利用信息泄露习题
  6. 【光学】基于matlab多缝夫琅禾费衍射【含Matlab源码 061期】
  7. 树莓派Python教程:树莓派能做什么
  8. 潮流零售KK集团半年巨亏44亿,是风口还是泡沫?
  9. WPS制作三线表(表内横线粗细可调)
  10. vue无法加载ps1
  11. Matlab中的c2d函数用法
  12. 知识图谱概论(二):概念具象化描述
  13. 视频转码编辑工具:Compressor for Mac(4.5.4)
  14. C语言实现人物动态移动效果
  15. 计算机考研复试C语言常见面试题
  16. Linux防火墙的配置
  17. Linux内核配置(二) :CPU类型配置
  18. [转载]领航名人馆丨吴甘沙:自动驾驶将颠覆我们的生活与城市
  19. AQL及抽样流程和计划系列标准
  20. 起点——2015年终总结

热门文章

  1. 根据斗破苍穹改编的Java游戏_不仅《斗破苍穹》改编动漫游戏,这个作者才是游戏IP大师!...
  2. python echo含义_echo什么意思
  3. 联想与戴尔台式计算机比较,戴尔台式机和联想台式机哪个好用
  4. 且看一个IT女孩的求职之路
  5. WPF输入框双向绑定Decimal类等数据无法输入小数点
  6. 《心田上的百合花》阅读理解题:心田花开——含答案
  7. 计算机下方如何添加启动项,开机设置启动项,如何添加开机启动项
  8. 天才程序员: 那些年我偷懒没敲的EOS代码, 让我失去了一切, 如果...
  9. UltraEdit15.10的注册码
  10. iOS开发基础-常用组件(上)