上QQ阅读APP看书,第一时间看更新
3.5 其他说明
通过上述的描述,可以发现大象和冰箱有两个相同点:
1)两个控制对象的控制模型是一样的;
2)两个控制对象有一个相同的功能(Function):正反转,见表3-4。
表3-4 对象正反转定义表
现假设冰箱对象的功能块程序名为FB_Fridge,大象的功能块程序名为FB_Elephant。那后续的项目中只要有这两个对象,程序员要做的工作就是将程序名实例化而已。
面向过程只是着眼于当前工艺需求,虽然编程简便快捷,但后续维护和复用时比较困难,也无法形成对应模型知识库,相关技术及知识得不到累积和传承。
面向对象则是在制造东西,是将现实中的对象在程序中再造一次。面向对象的前期编程工作量大,且需要具备相当的能力将对象的属性提炼总结出来,但其程序具有模块化、接口化等特点,便于后续的维护和使用,利于形成行业知识库,技术可以得到累积、发展、传承和更新。
随着技术的发展,冰箱(即设备)的性能会越来越先进,那对于程序员来说要做的工作就是与时俱进地更新FB_Fridge的功能,这样FB_Fridge的版本就会从原始版本跟着时代的更新发展到更多的版本。这样,对于冰箱这个对象,不仅升级再造功能可以完成,而且还能按照客户需求选择不同版本的程序(客户的冰箱可能是老款)来满足客户的需求。
两种编程方法的优缺点对比见表3-5。
表3-5 两种编程方法的优缺点对比
(续)