黑马程序员技术交流社区

标题: 多态理解(武侠版) [打印本页]

作者: Peach2014    时间: 2014-8-1 15:51
标题: 多态理解(武侠版)
本帖最后由 Peach2014 于 2014-8-3 21:45 编辑

继承:你有一个武林高手师父,人称“玉罗刹”,然后你从你师傅那里学到了他的全部武功。
扩展:后来你又自创了你自己的武功。
多态:你现在可以用你师傅的名号“玉罗刹”去行侠仗义,你师父会的你都会。别人可以认为你就是你师父。但是,你不能使用你自己的武功,因为你还带着“玉罗刹”的面具。如果你想要使用自己的武功,就必须先拿下面具(使用强制转换,将父类对象引用转换成子类对象类型)。
java不允许的:1.你师父不会使用你的武功,所以你师父不能伪装成你(父类对象不能强转成子类对象类型)      
然而,你的师傅可以收很多的徒弟,每个徒弟都可以修炼自己的武功,所以到最后,你师父能干的事,他的徒弟们都可以取代他的位置
下面是代码演示:
  1. class A//玉罗刹
  2. {
  3. public void Jiuyinzhenjing()//九阴真经
  4. {
  5. System.out.println("this is A Say");
  6. }
  7. }

  8. class B extends A//你继承了你师父的全部武学
  9. {
  10. public void Rulaishenzhang()//如来神掌
  11. {
  12. System.out.println("this is B Sing");
  13. }
  14. }
  15. public class Duotai
  16. {
  17. public static void main(String[] args)
  18. {
  19. A shifu = new B();
  20. shifu.Jiuyinzhenjing();//使用“玉罗刹”的名号使用九阴真经
  21. B tudi= new B();
  22. tudi.Jiuyinzhenjing();//使用师父的九阴真经
  23. tudi.Rulaishenzhang();//自己使用如来神掌

  24. //a.Rulaishenzhang();//不可以,你师父不会如来神掌
  25. B you;
  26. you = (B)shifu;//你拿下面具,露出真面目,可以使用如来神掌了
  27. you.Rulaishenzhang();

  28. Sharen(shifu);//师父用九阴真经去杀了10000人
  29. Sharen(tudi);//徒弟也可以用九阴真经去杀10000人

  30. }
  31. public static void Sharen(A a)//师父的绝学九阴真经杀人
  32. {
  33. a.Jiuyinzhenjing();
  34. System.out.println("使用九阴真经杀了10000人!");
  35. }
  36. }
复制代码


作者: 威猛的小熊    时间: 2014-8-1 15:53
哈哈。。。。不错,有意思。。。

作者: 黑马_java猿    时间: 2014-8-1 16:30
有点意思。。来根中华
作者: 641283812    时间: 2014-8-1 16:37
经典,哈哈。
作者: 掌柜的--刘饮    时间: 2014-8-1 17:55
有意思.呵呵呵
作者: 乐此不疲    时间: 2014-8-1 18:10
今天刚看了个电影,陆小凤传奇上面就有个玉罗刹
作者: 朱道研    时间: 2014-8-1 18:21
碉堡了   
作者: Peach2014    时间: 2014-8-1 18:34
黑马_java猿 发表于 2014-8-1 16:30
有点意思。。来根中华

刚好没烟抽了,来,递一根过来!
作者: 莫忘本心    时间: 2014-8-1 18:36
挺好玩的
作者: zippo    时间: 2014-8-1 18:36
精辟,学习了。
作者: 怀念黑海岸    时间: 2014-8-1 18:55
  恩   通俗易懂。
作者: guanxiangliang    时间: 2014-8-1 19:10
一个父亲多个儿子,一个儿子只能有一个父亲
作者: 李大壮    时间: 2014-8-1 21:15
有意思思
作者: 碎流    时间: 2014-8-1 21:22
很生动的例子,不错。
作者: 不可言    时间: 2014-8-1 21:27
好厉害,赞一个
作者: a6511631    时间: 2014-8-2 12:56
很有趣,太有意思了
作者: dreamseekerkun    时间: 2014-8-5 17:32
精辟。楼主写的通欲易懂,大赞
作者: ┣┫流枫    时间: 2014-8-5 17:34
你师父的私有武功    你是看不到的
作者: qingxi1    时间: 2014-8-5 18:01
牛,其实每个人都有自己的理解。我对类和对象的理解就是老板和员工的理解,老板不需要处理具体问题,支配员工即可,和用对象很像

作者: 付士长    时间: 2014-8-5 19:51
只想说一句除了lz还有谁!!!!!   赞!
作者: 柠萌不    时间: 2014-8-5 19:58
太通俗易懂了...赞
作者: .Mч┞尛__洋    时间: 2014-8-5 20:45
屌爆了  真的哦 , , , , ,, 
作者: 王一勇    时间: 2014-8-5 22:23
高手,很有意思~
作者: Solomon    时间: 2014-8-5 22:27
楼主内功几层了!!
作者: 轩辕苍穹    时间: 2014-8-5 22:34
厉害啊!
作者: Bule丶    时间: 2014-8-5 22:38
厉害啊,那继承呢
作者: 胥亮    时间: 2014-8-5 22:50
挺有意思的   值得学习
作者: Nick_KJ    时间: 2015-4-13 18:20
这个理解,很棒!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2