感悟
这章开始难度逐步提高,多态是面向对象的重要特质,后面你会发现,多态无处不在。关键在于理解向上转型。
笔记
- 8.1 再论向上转型
1)忘记对象类型
结合向上转型引出多态的概念
- 8.2 转机
1)方法调用绑定
2)产生正确的行为
3)可扩展性
4)缺陷:“覆盖”私有方法
5)缺陷:域与静态方法
理解多态的原理:动态绑定,多态的核心概念。
同时注意多态不能生效的地方。
- 8.3 构造器和多态
1)构造器的调用顺序
2)继承与清理
3)构造器内部的多态方法的行为
理解调用顺序,构造器是类似static。其他了解就好,正常一般不会用到。
- 8.4 协变返回类型
导出类中的被覆盖方法可以返回基类方法的返回类型的某种导出类型
- 用继承进行设计
1)纯继承与扩展
2)向下转型与运行时类型识别
理解is-like-a,向上转型时候,导出类自有的扩展接口会丢失。
使用向下转型,可以使用扩展接口,但是需要转型(运行时类型识别RTTI),转不对会抛ClassCastException。
- 总结
多态是一种不能单独来看待的特性,只能作为类关系全景中的一部分,与其他特性协同工作。
本文探讨了面向对象编程中的多态特性,重点讲解向上转型、动态绑定、构造器调用顺序及协变返回类型等核心概念。通过实例解析多态在类关系中的作用,及其在实际编程中的应用与限制。
250

被折叠的 条评论
为什么被折叠?



