A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 男人你得有范 中级黑马   /  2014-8-22 22:38  /  1204 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态--即事物存在的多种表现形式。还称为动态绑定。
    例如动物中猫、狗。
        猫这个对象对应的类型是猫类型 猫 X = new 猫();
    同时猫也是动物中的一种,也可以把猫称为动物。
        动物 Y = new 猫();
        动物是猫和狗具体事物中抽取出来的父类型。
        父类型引用指向了子类对象。

    (1)多态的体现形式
        a.父类的引用指向了自己的子类对象。
        b.父类的引用也可以接受自己的子类对象。
        如Animal a = new Cat();a指向了Cat对象。

    (2)多态的前提
        a.必须是类与类之间的关系,要么继承,要么实现。
        b.通常还有一个前提:存在覆盖。
     
    (3)多态的利弊
        利:多态的出现大大的提高了程序的扩展性。
        弊:虽然提高了扩展性,但是只能使用父类的引用访问父类的成员。
     上面的Animal a = new Cat();是一种类型提升,向上转型的操作。
        如果想要调用猫的特有方法时,可强制将父类的引用,转成子类类型,向下转型。
     注意:
        千万不要出现将父类对象转成子类类型的操作。我们能转换的是父类应用指向了自己的子类
        对象时,该应用可以被提升,也可以被强制转换。多态自始至终都是子类对象在做着变化。

8 个回复

倒序浏览
这里  只能使用父类引用访问父类的成员不对吧  如果多态只能访问父类的成员  那还要多态干什么呢
回复 使用道具 举报
总结的不错,学习了
回复 使用道具 举报
看看...........
回复 使用道具 举报
再次复习下
回复 使用道具 举报
学习下  
回复 使用道具 举报
又复习了一遍,嘻嘻
回复 使用道具 举报
总结的不错
回复 使用道具 举报
总结的还蛮好的,鼓励一下,多总结
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马