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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SHISY 中级黑马   /  2015-6-17 23:33  /  274 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.定义:某一种事物的多种形态
例:猫类继承动物类。则猫具有两种形态,即动物与猫。
           (就是猫既是猫又是动物)
            定义变量普通赋值:猫a = new 猫();
定义变量多态赋值:动物 b = new 猫();
多态的程序体现:父类或者接口的引用指向其子类对象或者实现类对象。
2.前提:需要存在继承或者实现关系。
要有方法覆盖操作,否则没有意义。(方法重写)
父类或者接口的引用指向自己的子类对象。
3.优点:开发当中要符合开闭原则:对修改关闭,对扩展开放。
多态的存在提高了程序的扩展性(由多态保证)和后期可维护性(由继承保证)。
4.弊端:不能使用子类的特有功能。
5.特点
成员函数:(编译看左边,运行看右边)
编译时:要查看引用变量所属的类中是否有所调用的成员函数。即父类的引用类型必须有该方法
运行时: 子类重写的方法运行
成员方法:(编译看左边,运行看右边)
编译时:父类的引用类型必须有该属性
运行时:访问的为父类的属性
6.向上向下转型:
向上转型:引用变量为父类时,子类实例对象可以自动提升为父类类型。(多态本身的赋值就是向上转型)
向下转型:可以使用强制类型转换,将父类强转成子类,前期父类引用指向的对象为子类对象,即必须是多态的引用。
7.多态的表现形式
具体类多态(少见)
抽象类多态(常见)
接口多态(常见)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马