面向对象与面向过程
一、面向过程与面向对象的本质是哲学。
它们不是所谓的顺序结构、类和抽象,也不是转型重载和继承等编程机制,而是如何理解事务,如何看待事务,如何处理事务的哲学思想。
一、面向过程
也就是要想做一件事,我们应该分哪几步,先做什么后做什么。
这种把一件事情细化为多个步骤,然后按顺序完成的思想就叫做面向过程。
二、面向对象
面向对象则是在面向过程基础上进一步发展的团队协作。在理解过程的基础上,把任务合理的分给多个角色去做。
这种多个角色协作解决事务的思路就叫做面向对象。
三、面向对象与面向过程的关系
1. 只有一个对象的面向对象是面向过程,有多组过程的面向过程是面向对象。
面向过程和面向对象并不是不同的,它们在一定程度上可以相互转化。
同样的,当有多个角色同时来解决同一个问题,每个角色负责一组行为时,也就从面向过程变成了面向对象。
1. 面向过程的核心思想是事件的逻辑,面向对象的核心思想是协作的秩序。
面向对象的核心思想是如何把任务进行合理的划分,再分别交给不同的角色。
2. 面向过程是面向对象的基础,没有面向过程也就没有面向对象
同样以人举例,面向过程是一个人做事,面向对象是许多个(一个人)一起协作。连基本的一个人都没有的话,哪来的多人。而且就算一个任务分给多个人做了,每个人自己做事情不还是有逻辑顺序的吗?按上面餐馆的例子,配菜员不还是得按买菜洗菜切菜的面向过程流程走吗?
author:万能的小奇喵(bilibili)