面向对象和面向过程的区别

背景:
想要面向对象,写出的却经常是面向过程的代码,造成了重复或者说冗余。面向对象和面向过程的区别是什么呢?下面展开来说。

面向过程:
1.目的:为了提高性能、减少调用的消耗
2.缺点:不利于维护、拓展、复用
面向对象:
1.目的:易于维护、拓展、复用
2.缺点:调用消耗大,性能相对较低

例子:
面向对象好比手机的内部结构,分为屏幕总成、电池模块、主板、小板等,有一次我的屏幕坏了,那我只需要买一个全新的屏幕总成,插上排线就OK了,我不需要关心屏幕是怎么做出来的,由多少层组成的,这不需要知道。屏幕总成相当于封装好的类,不需要关注其内部实现,需要的时候new一个新的出来就好了。

问题:
1.面向对象和面向过程孰优孰劣?
其实没有优劣之分,因为使用场景不同。比如Linux作为一个比较庞大的操作系统,采用的是面向过程开发。因为操作系统虽然开发成本很高,但是对性能的要求更高,所以自然采用性能更高消耗更好的面向过程。

我们日常开发的面向用户群体的项目,我发现采用的是面向过程。因为日常应用场景的应用软件不需要像操作系统那么高的性能要求。同时面临着迭代开发,日常维护的成本,所以易于维护、拓展、复用的面向对象再适合不过。

2.面向对象的代码可复用,面向过程呢?
面向过程也可复用,是对函数的复用,而面向对象是对类的复用。

你可能感兴趣的:(面向对象,面向对象,面向过程)