首先我们需要明确的是面向过程和面对对象都是一种软件的设计思想,都是代码的一种组织形式
第二点,要明确的是:面向对象和面向过程二者不是相互割裂的关系,不是绝对对立的,而是相辅相成的。
面向过程:当我们在思考一个问题,首先分析的是完成这件事情的步骤,这时我们用到的就是面向过程的一个思想。
比如我们思考如何开车:1、调整座椅,检查车辆情况 2、确定可以启动后,插入钥匙点火 3、启动,加油
面向对象:区别如何开车的问题,我们再思考如何造车,这个时候你就发现你想去思考造车的步骤是无法完成的。因为造车我们一目了然的,车的零件组成有很多,再说的直白一些,我先去制造哪一个零部件都是可以的,无所谓顺序,只要最后组合在一起就OK了,重在思考什么组成了车的整体,这就是面向对象的一个思想。
前者更适合与简单的任务,不需要众多元素之间相互合作,而后者适合较复杂的任务,我们需要去判定重要的元素。
总结:
- 都是解决问题的思维模式,都是代码组织的方式
- 解决简单问题可以使用面向过程
- 解决复杂问题:宏观上使用面向对象把握,微观处理仍然是面向过程