很多人刚入门时都不分不清这两者的区别,我那时候也是。所以今天,就动笔写了这篇文章,如有错误,欢迎指教!
我就不说那些定义了,就因为看不懂,所以才会来查文章,不是嘛?所以再复述也就没有了意义!
首先,面向过程,就相当于一个人来做所有的过程。
而面向对象呢,就是把编程中的事物看成对象,每个对象都有自己的职责。
下面举例:
面向过程:
A有4个能力,b1,b2,c1,c2。
面向对象:
A有两个能力:通知B要做什么,和通知C要做什么。
B有两个能力:b1,b2。
C有两个能力:c1,c2。
不知道我说的清不清楚。
再举个例子:
背景是这样的:
主程序是卖木材的,要求是卖给两人,两人分别拿来做桌子和做椅子。
面向过程:
主程序判断卖给谁,然后调用程序做对应的工作。
面向对象:
主程序只需要知道卖东西,给谁都无所谓。
两个对象接收到东西,做自己该做的就行了。
总结一下:
面向过程就是一个人要把所有事情都做了。
面向对象则是每个人之间分工合作,每个人只需要知道自己能够做什么就行了,就像一个公司,大领导通知小领导,小领导通知员工干活。大领导不用知道员工怎么完成自己的要求的,员工也不用知道其他员工需要做什么!
面向过程的代码无疑会比面向对象的简单很多,但是逻辑却是会更加混乱。
而面向对象,代码很多——因为要建立很多的对象嘛!但是条理清晰,每个对象都有自己的职责,分工明确。
第一次写这种东西,本人也是个刚入门的小菜鸟。如果有问题,再次欢迎批评指正!