第七章 多态
7.1 多态与封装
多态是分离“做什么”和“怎么做”,即接口与实现分离,消除类型之间的耦合性
封装是合并特征和行为来创建新的数据类型
7.2 向上转型和向下转型
向上转型即导出类实例转化为基类实例,由于只能调用与基类公共的方法,可能会缩小“接口”。
向下转型即基类实例转化为导出类实例,由于java采用后期绑定策略,因此只有在运行阶段才知道是否能正确转化,因此存在风险。
7.3 转机
前期绑定:由编译器和连接程序实现。
后期绑定:运行时根据对象类型进行绑定。
Java除了static和final方法(private)之外,其他方法均属于后期绑定。
Private方法默认是final,对导出类是屏蔽的,因此不能被覆盖
7.4 抽象类和抽象方法
抽象类一般表示所有导出类的共同部分,抽象类不存在实例对象
7.5 构造器的调用顺序
1.基类构造器
2.组合(属性初始化)
3.自身构造
清理的调用顺序相反
7.6用继承进行设计
除非为了表示父子类关系,即xx是一种xx或者向上转型,一般选择组合
用继承表达行为间的差异,用组合表达状态的变化
来源:CSDN
作者:MrGeroge
链接:https://blog.csdn.net/MrGeroge/article/details/52625925