程序员技术

本文探讨了软件设计中的一项关键技术——将变化的部分与稳定的部分相隔离。通过使用多态性和继承而非重载来实现这一目标,使得程序能够更好地应对需求变更。文中详细解释了向上转型和执行期绑定的概念,并对比了过程式语言中的先期绑定。
摘要由CSDN通过智能技术生成

技术一:渐变动的事物与不变的事物隔离


实现手段

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值