面向对象之领悟

面向对象之领悟

 

   “对象”以真实的事物(不是抽象概念或通俗比喻)为原型,通过封装与继承来解决事物规律(类)与真实应用(实例)中可能出现的差别,这就是把错综复杂的设命题变成整体打包的“封装”过程。由于这个过程必须要强调对事物过程的归纳与抽象,所以必然会提高设计“对象”的门槛,也正是因为“类对象”存在着这样的抽象过程,所以才有可能降低应用实例的实现难度,并能具备较大的适用范围。
    很多程序员对“对象”概念的理解大约是“雾里看花”的状态,似乎是能理解,但又不知道该怎样应用。只会使用系统提供的基本“对象”,却不会(或根本就不知道)设计或封装属于自己的“自定义对象”。仅仅会使用别人提供的工具干活,大约只是一个劳动者,并不能成为一个名副其实的“设计”者。
    客观地说“面向对象”的设计理念听起来容易做起来难。经常见到一些自认为“精通”面向对象理念的程序员却从来没有实现过“对象”的设计与封装,此间不乏带有一些啼笑皆非的意味。如果把面向对象的理念比作一个殿堂,很多徘徊在门口的人都自以为早已身居殿堂之中,其实这是一个误解。
    编程的意义并不在于通过“代码(或简单的应用系统对象)”来描述需求,更主要的是要通过符合“设计理念”的方式,将原始需求转变成能够体现“设计思想”的“对象(最贴近于事物自身特性的设计单元)”并通过这种代表着需求内涵的“对象”来完成“设计”。
    如果要判别是否真正理解了“面向对象”的开发理念,最简单、最直接的方式就是看他是否实现过“自定义对象”的封装,因为这是对面向对象理念的初衷与归宿。
开发环境为我们提供了设计、封装、引用各种“对象”的技术手段,如何在这个舞台上抽象、构造、设计、使用属于我们自己的各种应用“对象”,才是真正展示我们驾驭“面向对象”能力的具体体现。
    不要以为“面向对象”的就是那么深奥、那么难以理解,其实它就像一层“窗户纸”,只要你轻轻地“捅”以下,一切问题就会迎刃而解。关键是是否意识到了这层“窗户纸”的存在,并要伸出手指即可。相反,如果没有意识到它的存在,或不愿意为此有所付出,那也只能是在殿堂的门口“雾里看花”了。
posted @ 2009-04-13 08:45  博文视点(北京)官方博客  阅读(2387)  评论(6编辑  收藏  举报