面向对象和面向过程_如何通俗易懂地举例说明「面向对象」和「面向过程」有什么区别?...

文章来源丨知乎:力扣(LeetCode)

与面向对象相对应的,即存在于早期版本 C 语言中的面向过程。

1375635f253668d775827948d92f201e.png

关于C/C++编程学习,小编给大家提供一个学习交流群,欢迎到访:569+268,376。

面向过程开发的过程,有点类似于树状调用函数,树状的根节点主程序对函数进行层层调用。

比如,main 函数要进行排序,那就调用 sort,sort 再去调用对应的,然后排好序后要进行输出,再调用输出。所谓面向过程中的过程,指的就是排序,输出这一个个的对应的“行为”,即过程是你每次进行的操作。

面向过程的问题有:

复用性不佳

按过程来的话,不同过程中相似的代码也不好进行复用,前半段的过程中用到的逻辑,在后半段再次使用的话需要再写一遍,如果是相同的逻辑,修改也会出现很多复杂问题。

拓展性不易

举个例子,相同的逻辑,如果要有两份相似逻辑,那在面向过程中,就很多时候需要写两份。

耦合度高

有一个比喻很合适,说面向过程是蛋炒饭,面向对象是盖浇饭,即,面向过程很难将内容剥离开,都混在了一起,要改一个东西,往往会改全文;而面向对象改的时候就改得比较少。

但面向过程也有好处,迭代快速开发,在一些如 48 小时比赛写个程序的,快速迭代,按过程分割就比较适合面向过程。

55bcf9ea411c38183b28d5f92235128f.png

面向对象,和面向过程的区别在于:

面向对象是以元素,是以事物为主体。只要你能将一样东西抽象成一样物品,就可以作为你一段代码的载体。

比如,MVC,把一样东西的数据,页面,控制,各抽象成一个东西,分开耦合,不同的对象之间只提供对应的接口,联系也基于对应的接口。把每个对象封装成一个类,就是面向对象要做的事情。

首先复用性极佳,你如果要编写重复逻辑,直接使用同一个类就好了。

其次耦合性非常低,修改逻辑时候只需要修改对应的接口内的内容就好了。

同时代码逻辑也更好理解,更好维护。

8512b2c8d9e66983c95a6f76e60be242.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值