专注互联网

~做一个优秀的码农~
posts - 5, comments - 26, trackbacks - 0, articles - 1
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

面向对象你真的懂了吗--面向对象的再理解

Posted on 2007-08-24 16:38  KIEKI  阅读(743)  评论(6编辑  收藏
面向对象,就是面对事物,看待问题,就像你看待生活中的所有物体一样,而我们是把面向对象这个概念引入到我们软件这个行业中,用来表示我们专业软件人员采用的一种方式来看待我们要处理的事物,因此,在软件的行业中面向对象也就是我们再处事时要看待事物的一种表述方式,于是,明白了,面向对象就是一个你,要面对一个或多个非己。用通俗的表达就是,你要和你看到的想到的所用东西打交道。

    当然了,那只是从概念上表达了“面向对象”,没有实际的说“怎么”面向对象,那么,怎么面向事物呢?我还是想讲讲我们日常生活中的“主动交流”,我们要交流的话,一般会经过这样的过程:一,摄入;二,赋意;三,意义;四,反应。这是一个我们的一个观察过程,也就是面向对象的一步。其实这一步也许对面向对象已经足够了。怎么说呢?就是说,我们对我们要处理的对象已经了解了,虽然变化是存在的,但是,我们也可以预期的。接着我们的面向对象,那么就是说,我们把自己的交流目的引用进来,然后对其采用“专业”的措施进行处理,一一二二就是这样。这是一个专业的模型吧。在软件行业中,面向是怎么做的呢,的确比较复杂。但是用简单的话说,就是:技术是简单的,变化是存在的,一一对应就好。

    面想对象的思想里要求我们抽象事物的特性,就是要找到这个事物的特点。然后用语言(自然语言,程序语言,等等)去表述这种抽象,然后用语法封装抽象出来的东西,然后用这种抽象服务于其他的面向对象,反复一一对应。面向对象的思想也要求我们继承,继承是建立在抽象基础之上的,继承同时也运用抽象技术,所以继承比抽象复杂,但是我们要知道,继承并不是和抽象处于同一个技术领域的集合当中的,这一点我会在下面讲的。面向对象的思想的另一个内容就是多态,这个概念是建立在继承上的,没有继承就没有多态,多态就是继承出来的东西要求改变,这是符合发展变化的需求的。怎么改变,按照语言的语法来嘛。同样,多态也不是和抽象在同一个集合的技术术语。

    我们来讨论抽象,封装,继承,多态的关系。简单的说,它们都是动词,能做事情,这是它们的共同点。但是它们所做的事情不是在同一集合的,怎么说呢,举个例子,人体解剖,如果说抽象是把那个被解剖人的骨头剔出来,那么封装,继承,多态则是把人的骨架给分别用容器包装起来,模仿这个骨架上做一个模型,把做出来的模型拿来改改,说不定能成为断臂的“维纳斯”!看到了吧,它们虽然都是做关于人体骨头的事情,但是抽象更加底层,是不能动骨头的,而后三者是可以动骨头的,这就是区别。