多态的趣味例子
来源:互联网 发布:jqplot现实的数据 编辑:程序博客网 时间:2024/05/21 22:45
你和你朋友都是烟鬼,
某日,你没有带烟, 而你朋友有n种烟,
你说: 来根烟,
朋友给你一根;
你通过烟的过滤嘴, 品出为白沙烟
你再要一根,
品出这次是芙蓉王,
再要一根,
品出这次是熊猫
...
上面描述的就是多态!
烟 a = 白沙
烟 b = 芙蓉王
烟 c = 熊猫
但发现没有, 仅仅通过"烟"基类, 引用到不同的具体类对象,
就能让你调用到不同的对象, 这就是多态.
而烟到你嘴里[此时你还没有发现是那种烟], 你仅仅凭借"吸"的动作,就识别出来,到底是哪种烟对象
这就是多态的悬机.
多态须具备:
1. 基类 和各个子类
2. 基类 引用, 指向实例化的子类对象.
再举一个鸡的例子,
鸡是所有其它鸡的基类, 定义了一个方法shape(), 此方法能指明鸡的形态. 所有的子类[火鸡,山鸡,田鸡等],都有这个shape方法, 表明自己的形态,
如果用下面的方法定义我需要具体的鸡,
[基类 引用 = 实现类的对象]
for example:
鸡 a = new 火鸡();
鸡 a = new 田鸡();
鸡 a = new 山鸡();
鸡 a = new 母鸡();
当我使用的时候, 我采用 a 这个引用,
a.shape(), 就会得到鸡的形态.
如果我定义的是
鸡 a = new 火鸡();
那么a.shape得到的是火鸡的形态, 而不需要用具体的
火鸡 a = new 火鸡(); 再通过a.shape得到火鸡的形态
某日,你没有带烟, 而你朋友有n种烟,
你说: 来根烟,
朋友给你一根;
你通过烟的过滤嘴, 品出为白沙烟
你再要一根,
品出这次是芙蓉王,
再要一根,
品出这次是熊猫
...
上面描述的就是多态!
烟 a = 白沙
烟 b = 芙蓉王
烟 c = 熊猫
但发现没有, 仅仅通过"烟"基类, 引用到不同的具体类对象,
就能让你调用到不同的对象, 这就是多态.
而烟到你嘴里[此时你还没有发现是那种烟], 你仅仅凭借"吸"的动作,就识别出来,到底是哪种烟对象
这就是多态的悬机.
多态须具备:
1. 基类 和各个子类
2. 基类 引用, 指向实例化的子类对象.
再举一个鸡的例子,
鸡是所有其它鸡的基类, 定义了一个方法shape(), 此方法能指明鸡的形态. 所有的子类[火鸡,山鸡,田鸡等],都有这个shape方法, 表明自己的形态,
如果用下面的方法定义我需要具体的鸡,
[基类 引用 = 实现类的对象]
for example:
鸡 a = new 火鸡();
鸡 a = new 田鸡();
鸡 a = new 山鸡();
鸡 a = new 母鸡();
当我使用的时候, 我采用 a 这个引用,
a.shape(), 就会得到鸡的形态.
如果我定义的是
鸡 a = new 火鸡();
那么a.shape得到的是火鸡的形态, 而不需要用具体的
火鸡 a = new 火鸡(); 再通过a.shape得到火鸡的形态
- 多态的趣味例子
- 一个关于悬浮窗的恶趣味例子
- Java递归(趣味例子)
- 多态的例子
- 多态的例子.
- 多态的例子
- 多态的例子
- 《论语》的趣味
- 设计模式的趣味
- 算法的趣味题
- 趣味的素数
- 卷积的趣味解释
- NOIP2009Hankson的趣味题
- 方言的趣味
- Hankson的趣味题
- NOIP2009Hankson 的趣味题
- 趣味题的分析
- 编程的趣味函数
- VS2008工程属性设置
- 2013.05阿里实习笔试题
- 修改eclipse 字体大小
- hdu 2577 DP
- 如何动态设置picture控件的图标
- 多态的趣味例子
- 黑马程序员 java入门:函数的重载
- 教你如何成为数据科学家(七)
- linux-2.6.32在mini2440开发板上移植 ---LED 驱动程序移植
- Kconfig,Makefile 和 .config
- Java笔记之异常机制
- Spring中事务的类型
- APP-V5.0的Sequencer过程
- linux-2.6.32在mini2440开发板上移植 ---按键驱动程序移植