1.多态性
封装是为了保护属性的操作,继承是为了扩展类的功能
多态是由封装性和继承性引出面向对象程序设计语言的另一个特征。
多态的体现:方法的重载和重写
1.1 静态多态性(编译时多态):由方法重载(overload)实现
1.2 动态多态性(运行时多态):子类对象可以作为父类对象使用,有方法重写(overridder)实现
2.对象的多态性
对象的多态性主要分为两种:
1.向上转型:
父类 父类对象=子类实例;//程序自动完成
注意使用规则:
操作的是父类对象,所以无法访问子类新增加的成员(属性和方法)。
子类中覆盖的方法和同名的成员变量
a.成员变量(包括静态的变量)和静态成员方法:编译和运行都看左边(看父类的)
b.非静态的成员方法:编译看左边的,运行看右边的(子类覆盖的方法)。
2.向下转型:
子类 子类对象=(子类)父类对象;//需要强制转换
时间: 2024-11-08 21:53:20