今天有开始对多态的理解加深了,基础不好的话看别人的程序很麻烦了,要不断地测试,测试……然后想想为什么,为什么……等过了一两年再看原来的基础代码的时候友开发犯迷糊了,又开始犯迷糊,然后测试测试……回忆一下为什么这样那样……
Father{
视察(){
System.out.println("大家好好工作啊,你们辛苦了!");
System.out.println("基层的每个官员给我贿赂300块大洋,我保你们平安");
}
}
现在我们创建对象
Father father = new Father();
father.视察();//工作做完了,并且还捞了不少钱
现在老爹不想干了,想退休了,儿子就可以继任啦,但是以前的基层官员可没退休,这群基层的只在乎你是不是有这个头衔;
根据中国封建的世袭制,孩子是有这个头衔的。为了让儿子有这个头衔,我们创建对象的时候就采用了继承机制
Son extends Father{}
Son son = new Son();
son.视察();//(用老子的方法)工作做完了,又捞了不少钱
孩子们都继承父亲。这样儿子就有了老爹的职能了。但是儿子每次捞的钱数和老爹每次的一样。孩子心想啊,我要比老爹捞的多一点,不然人家骂我无能了。所以现在孩子都不用老爹的工作方式了,都改成自己的
Sonx extends Father{
视察(){
System.out.println("大家好好工作啊,你们辛苦了!");
System.out.println("以后基层的每个官员给我贿赂600块大洋,我保你们平安");
}
玩乐(){
System.out.println("今天去了3家青楼!");
}
}
Sonx sonx = new Sonx();
sonx.视察();//(用自己的方法)工作做完了,又捞了不少钱
孩子们都覆盖了老爹的工作方式了,这样就可以打捞一笔了。
继承的方式说完了,现在开始看看多态的方式吧。
现在孩子要去觐见皇帝老儿了,皇帝老儿以前只给孩子他爹授勋过而已,也只在乎你这个小屁孩是不是我那时候给授勋的那个大臣的孩子。所以孩子们就不得不“转型”!既然皇帝老儿只认身份不认人,那我就“上转型”成我老爹不就行了!于是孩子开始转型了
Father son2father = son;
这样皇帝老儿也知道了这个小毛孩是谁了,也给予这个小屁孩觐见的功能了。这时候皇帝老儿问孩子:“你每次去视察的时候每个官员收多少钱啊?”,不贪的(没有重写视察方法的那个孩子)son就回答说:“300块大洋”;贪的那个孩子(重写了视察方法的那个孩子)回答:“我比较上进,要求每个收600块大洋”。皇帝老儿点点头就让这群小屁孩回去了。
现在,老子觉得在家里呆着无聊,还想出去视察工作。这可不好办了,现在人家认的是儿子而已,人家不认我了,我都已经把权利都交给孩子了,这可怎么办呢?我可以也转转型呀?
Sonx father2sonx = (Sonx)father;
father2son .视察();
老爹可以出去贪污受贿了?你觉得人可以返老还童么?你是上帝么?上帝是你么?
father2sonx.视察();
father2sonx.玩乐();
看到这里你觉得这个老子贪心么?很贪心是吧!!!既然你觉得这样的老子很贪心,为什么让他这么干呢?我看不下去,相信你也看不下去。外国人更是看不下去了:“娘希匹,不准你转,你以为上帝是你自己的啊?要转我就给你抛异常(java.lang.ClassCastException)”
(这里多态还没讲完^_^先和稀粥去,不拉稀的时候再过来这里吹吹鼻子)
继续说说多态吧。好久没来了,先给这里打扫打扫灰尘,上上香,各位大神走过的同时也给我留下点建议,学习学习,共同进步~~~
说到多态就要提到接口了,我觉得接口和抽象类的设计初衷是为多态服务的。怎么理解呢,先来看看需求吧(万物的发展都是以需求做驱动的)。继续上面的例子-->
老子就快死翘翘了,但是老子不甘心自己死了就因此没有了官位啊(先回家了^*^)
继续理解变态(多态)设计
- 大小: 65.4 KB
分享到:
相关推荐
代码演示对java中多态的理解 从代码演示中更好的理解多态的作用
java 个人对于多态理解和一些笔记。
【Java面试题】谈谈对Java多态的理解
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
本文带您通过几个类的示例和讲解来理解Java多态性,Java多态性的概念也可以被说成“一个接口,多个方法
对 于java的多态理解
利用大量代码讲解java的多态,让你更容易理解和应用。
Java的多态是学习Java的第一个重点,也是一个难点。在学习Java多态之前, 要学好封装和继承,封装和继承是理解多态的一个过程。在表现多态时,同 时也体现了封装和继承。
JAVA多态的理解.pdf
java多态的理解共3页.pdf.zip
java程序设计中,多态的实现和理解,通过代码演示java程序设计中,多态的实现和理解,通过代码演示
编程语言JAVA多态的理解.pdf
用代码实例和注释向你讲述什么是多态,实例更容易理解
主要介绍了Java 继承与多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下
1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字
内容概要: 本文介绍了Java中多态(Polymorphism)的概念和用法。读者将学习什么是多态,为什么需要多态,以及如何在程序中实现多态...如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对多态的理解。
理解继承如何增强软件的可重用性 超类(父类)和子类
1、实验题目:多态和接口编程 2、实验目的:掌握重载、覆盖的多态Java编程,理解类的继承和接口实现的内涵,掌握向上转型的编程技术。