对于该问题,网上也有不同说法,感觉有点乱,下面说一下我的看法:
主要是从面向对象的三个特征入手:
1.封装:是指将客观事物的属性和操作方法封装成类,每个类对自身的数据和方法实行保护。
2.继承:继承是一种联结类的层次模型, 并且允许和鼓励类的重用。
3.多态:指允许不同类的对象对同一消息作出相应。
显然这三个特征都是面向过程所不具备的,面向过程是一种以事件为中心的开发方式,是一个自顶向下、逐步求精的过程。如五步棋:先干什么,然后干什么,再干什么;但是面向对象的思维是:首先谁干什么,然后谁去干什么,再然后谁去干什么;可以看出面向对象强调的是对象而面向过程并没有出现“谁”的概念;(注意,个人认为我们不可能完全脱离面向过程,因为一些函数体里面的每一个小步骤还是得面向过程的,面向对象是一个宏观的概念,面向过程则是一个微观的概念);