http://www.verejava.com/?id=16992846385655

/**题目: 孩子吃 水果(苹果,葡萄,芒果,菠萝)思路:1. 抽象出类 : 孩子(Baby), 水果(Fruit)(苹果(Apple),葡萄(Grape),芒果(Mango))2. 找出类的关系: 水果 -> 孩子   (苹果,葡萄,芒果) 是 水果的分类3. 找出属性: 孩子(姓名,水果引用)  4. 找出方法: 孩子吃(eat)水果子类->父类的转换 作用 :解耦 也就是降低类与类之间的耦合度 提供可扩展性
*/
public class Polymorphism3
{public static void main(String[] args){//实例化一个BabyBaby baby=new Baby("李明");//实例化一个苹果 和 一个葡萄Apple apple=new Apple("红富士");Grape grape=new Grape("黑葡萄");Mango mango=new Mango("大芒果");PineApple pineApple=new PineApple("菠萝");//李明吃苹果baby.eat(apple);System.out.println(baby.getName()+" 吃了 "+baby.getFruit().getName());baby.eat(grape);System.out.println(baby.getName()+" 吃了 "+baby.getFruit().getName());baby.eat(mango);System.out.println(baby.getName()+" 吃了 "+baby.getFruit().getName());baby.eat(pineApple);System.out.println(baby.getName()+" 吃了 "+baby.getFruit().getName());}
}
class Baby
{private Fruit fruit;private String name;public Baby(String name){this.name=name;}public String getName(){return this.name;}public Fruit getFruit(){return this.fruit;}/**吃水果*/public void eat(Fruit fruit){this.fruit=fruit;}}
class Fruit
{private String name;public Fruit(String name){this.name=name;}public String getName(){return this.name;}
}
class PineApple extends Fruit
{public PineApple(String name){super(name);}
}
class Apple extends Fruit
{public Apple(String name){super(name);}
}
class Grape extends Fruit
{public Grape(String name){super(name);}
}
class Mango extends Fruit
{public Mango(String name){super(name);}
}

http://www.verejava.com/?id=16992846385655

转载于:https://www.cnblogs.com/verejava/p/9202011.html

Java 面向对象 之 多态实例2相关推荐

  1. Java面向对象:多态——基于继承的向上转型、方法重写、动态绑定

    Java面向对象:多态 1.多态的概念 2.向上转型和向下转型 (1)向上转型 (2)向下转型 3.方法重写 4.动态绑定与静态绑定 5.多态的优缺点 ======================== ...

  2. 12 Java面向对象之多态

    JavaSE 基础之十二 12 Java面向对象之多态 ① 多态的概念及分类 多态的概念:对象的多种表现形式和能力 多态的分类 1. 静态多态:在编译期间,程序就能决定调用哪个方法.方法的重载就表现出 ...

  3. Java 面向对象:多态的理解

    Java 面向对象:多态的理解 一.多态的定义 一个对象的实际类型是确定的,但可以指向引用对象的类型可以有很多(父类,有关系的类) 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父 ...

  4. Java面向对象之多态(来源于身边的案例)

    2019年1月3日 星期四 Java面向对象之多态(来源于身边的案例) 1. 为什么要用多态? 1.1 多态是面向对象的三大特性之一 1.2 多态是基于接口设计的模型 1.3 多态具有横向扩展特性 1 ...

  5. 面向小姐姐的编程——JAVA面向对象之多态

    多态概述 什么是多态? 多种状态,同一对象在不同情况下表现出不同的状态或行为 比如你女朋友,会有多种表情,多种姿态,多种情绪,这都是多态. Java中实现多态的步骤 要有继承(或实现)关系 要有方法重 ...

  6. java面向对象的多态_java面向对象(五)之多态

    多态 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. ...

  7. 新手小白学JAVA 面向对象之多态

    多态 1. 概念 多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态. 可以把不同的子类对象都当作父类来看, ...

  8. day11 Java 面向对象 final 多态

    文章目录 一.final 关键字 二.多态 (polymorphic) 1.基本 2.多态访问成员特点 3.向上转型和向下转型 3.instanceof 关键字 4.多态访问成员特点 五.练习 总结 ...

  9. Java 接口与多态 实例

    实例一.设计一个广告牌,达到可以展示不同公司广告词的作用 . 1.接口Advertisement,声明每个对象必须要做的事情,即每个公司必须给出具体的广告词和公司名称. public interfac ...

最新文章

  1. mysql 十万条 输出_MySQL一次性插入十万条数据
  2. 1.python的安装
  3. Qt之QPushButton
  4. 手机端适配rem计算方法
  5. 统计之都 http://cos.name/
  6. java反射头文件_编程基础知识——C++能不能支持Java和ObjC的反射?
  7. mysql 结果保存到文件_将MySQL中sql运行结果保存到文件
  8. Webwork2之Action Result Type(转载)
  9. eclipse设置工作空间编码为默认utf-8
  10. 1071-数字的空洞
  11. 什么是hibernate N+1查询
  12. [转]如何阅读systemstate dump
  13. Android 使用POI导出Excel表格
  14. [绍棠] SwiftyJSON的使用详解
  15. 惯性组合导航原理—[1] 方向余弦矩阵
  16. BZOJ 1069 最大土地面积(旋转卡壳求最大四边形)
  17. linux系统支持ntfs吗,Linux支持NTFS格式文件的方法
  18. 备份一下Linux笔记
  19. 【科研数据处理】[基础]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)
  20. 【XSY3549】Tree(线段树,换根)

热门文章

  1. 【王道操作系统笔记】操作系统的四个特征
  2. 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)...
  3. uefi windows10 linux,UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装
  4. DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016
  5. 平时上机练习的注意点(NOIP2019)
  6. 【软考】软考简易版知识点复习指南汇总
  7. 【w3cschool】C语言复习
  8. 【CCCC】L2-004 这是二叉搜索树吗? (25分),二叉搜索树前序遍历
  9. Codeforces Round #666 (Div. 2)C - Multiples of Length(错位相减)
  10. 【NOIP2010】【codevs1069】关押罪犯(并查集补集,拆点)