1.再论向上转型:
1(1).忘记对象类型
2.转机:
2(1).方法调用绑定
2(2).产生正确的行为
2(3).可扩展性:多态是一项让程序员“将改变的事物与未变的事物分离开来”的重要技术。
2(4).缺陷:“覆盖”私有方法:只有非private方法才可以被覆盖;但是还需要密切注意覆盖private方法的现象,这时虽然编译器不会报错,但是也不会按照我们所期望的来执行。确切地说,在导出类中,对于基类中的private方法,最好采用不同的名字。
2(5).缺陷:域与静态方法:如果某个方法是静态的,它的行为就不具有多态性。
3.构造器和多态
3(1).构造器的调用顺序:1.调用基类构造器(从最低层的导出类)2.按声明顺序调用成员的初始化方法。3.调用导出类构造器的主体
3(2).继承与清理:由于继承的缘故,如果我们有其他作为垃圾回收一部分的特殊清理动作,就必须在导出类中覆盖dispose()方法。当覆盖被继承类的dispose()方法时,务必记住调用基类版本dispose()方法;否则,基类的清理动作就不会发生。
3(3).构造器内部的多态方法的行为:用尽可能简单的方法使对象进入正常状态;如果可以的话,避免调用其他方法。
4.协变返回类型:
5.用继承进行设计:用继承表达行为间的差异,并用字段表达状态上的变化。
5(1).纯继承与扩展
5(2).向下转型与运行时类型识别