黑马程序员技术交流社区
标题:
面向对象之-------多态
[打印本页]
作者:
男人你得有范
时间:
2014-8-22 22:38
标题:
面向对象之-------多态
多态--即事物存在的多种表现形式。还称为动态绑定。
例如动物中猫、狗。
猫这个对象对应的类型是猫类型 猫 X = new 猫();
同时猫也是动物中的一种,也可以把猫称为动物。
动物 Y = new 猫();
动物是猫和狗具体事物中抽取出来的父类型。
父类型引用指向了子类对象。
(1)多态的体现形式
a.父类的引用指向了自己的子类对象。
b.父类的引用也可以接受自己的子类对象。
如Animal a = new Cat();a指向了Cat对象。
(2)多态的前提
a.必须是类与类之间的关系,要么继承,要么实现。
b.通常还有一个前提:存在覆盖。
(3)多态的利弊
利:多态的出现大大的提高了程序的扩展性。
弊:虽然提高了扩展性,但是只能使用父类的引用访问父类的成员。
上面的Animal a = new Cat();是一种类型提升,向上转型的操作。
如果想要调用猫的特有方法时,可强制将父类的引用,转成子类类型,向下转型。
注意:
千万不要出现将父类对象转成子类类型的操作。我们能转换的是父类应用指向了自己的子类
对象时,该应用可以被提升,也可以被强制转换。多态自始至终都是子类对象在做着变化。
作者:
java--周群
时间:
2014-8-22 23:24
这里 只能使用父类引用访问父类的成员不对吧 如果多态只能访问父类的成员 那还要多态干什么呢
作者:
舍我其谁
时间:
2014-8-22 23:51
总结的不错,学习了
作者:
执笔梦
时间:
2014-8-23 10:56
看看...........
作者:
wyf20106
时间:
2014-8-23 19:54
再次复习下
作者:
liqiaohui
时间:
2014-8-23 20:33
学习下
作者:
fredlxy
时间:
2014-8-23 20:43
又复习了一遍,嘻嘻
作者:
c19t043
时间:
2014-8-23 20:45
总结的不错
作者:
—Jimmy—
时间:
2014-8-23 20:52
总结的还蛮好的,鼓励一下,多总结
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2