一、函数绑定方式
1、前期绑定:绑定动作发生在程序执行前(final声明)
二、覆写和重载
1、覆写是相对继承而言的
2、重载是相对于方法(名)而言的(重载方法可以是返回类型,参数等的不同)
三、抽象类和抽象方法
1、抽象方法没有方法体
四、构造方法和多态
1、若在构造方法中调用正在构建的那个对象的某个动态绑定的方法,会唤起该方法被覆写后的定义然而其中的某些成员可能尚未被初始化,这是灾难开始!
五、继承vs组合
1、相对继承 组合的弹性比较大
2、相对组合 继承的复杂度较高
3、能用组合尽量不要用继承
六、is-a(纯粹继承)和is-like-a(扩充)
七、向下转型
1、语法类似基本数据类型之间的强制转换
2、向下转型是为了使用继承中的扩充方法 向上转型是为了更抽象的、更方便的获取对象(暂时请允许我这样粗显的理解)
八、总结
多态就是"不同的形式"。多态依赖于数据的抽象性质和继承。(推测:对象在方法(后期绑定)执行期,应该做了和向下转型类似的事情)