技术一:渐变动的事物与不变的事物隔离
实现手段
- 多态(polymorphism)
通过Inheritance(继承) & upcasting (向上转型)而不是 overloading(重载)的方式,采用执行期绑定(run-time binding)的方式建立method call(方法调用) 和 method body(方法本体)的关联,在程序执行时才确定调用哪个本体。 overloading需要重载子类的方法,而upcasting不需要重载子类方法,只需要依靠执行器绑定即可实现。
过程式语言没有其它选择,只能是先期绑定(编译时就决定要调用哪个本体)。
java中要实现先期绑定,声明方法为final即可“关闭”动态绑定。
参见《Thinking In Java》第七章多态P221