简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)


 一句话概括:

op是具体作为模块的拼凑。

oo是抽象作为模块的组合。

 

比如我们制作一样东西,而这样东西是用很多小东西拼在一起形成的,在这里我们如果使用一个造车的小例子来解释一下op与oo思想。

1、op的思想

         比如制作一辆汽车,这两汽车首先得能跑,那么就需要轮子,光是轮子也不行,接着就有了支架,有了支架也还不行,想要动起来就得有动力才行,这时候发动机上场了,有了动力可以动了,但是控制不了,于是有了方向盘,就这样一部车经过一件接一件的零件的拼凑组装成功,终于可以走起来了。

         虽然车可以动了,但是总是一个速度不变,我想增加一个换挡的功能,这时候就必须把车从头到尾拆了重装,装好以后可以换挡了;但是现在又来了一个问题,减不了速,于是又把车又从头到尾的拆了,增加了一个刹车功能后重新组装。过段时间后,发动机出了新款,质量好,价格还不高,想换一个,于是又从框架,底盘灯一个个部件拆散,换了以后重新组装,等等像这样的增加或更替的事情毫无休止,而且每次都要重新的重头到尾的拆散、组装,随着汽车零件的越来越多,车辆的结构也越来越复杂,拆散和组装都慢慢变得越来越麻烦。对劳力和财力的消耗也越来越大。

简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)_第1张图片

         于是,人们就想,要是能够缺什么补什么,要什么换什么,发动机出新的了,只直接换发动机就行了而不用从头到尾的拆装就好了。。。。。。

 简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)_第2张图片

 

2、oo思想

          为了解决op的疑问,oo出场了,oo思想把一辆车需要的所有部件单独出来,然后利用一种新的设计将这些单独的配件组装在一起重新制造了一两完好的车,当我们需要换发动机的时候直接在发动机那个部位切换即可,不再重新拆装,当需要新增功能时,直接设计一个作用点,将这个功能新增的零件组合上去即可,也不需要重新拆装。

 简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)_第3张图片

 

上面这段说明我们设计到了两个最重要的点,那就是耦合性可维护性这也是软件开发中非常重要的思想。当然应用性是前提,用户体验性是关键。

 

Ps:我在这里主要利用车辆的组装假设来讲op与oo的思想,当然现实中车辆的组装肯定比我说的复杂很多,以上纯属个人理解,如有雷同,不胜荣幸。不对的还请大神指教。

 

你可能感兴趣的:(基础篇)