一、解决问题的方式
- 面向过程(Process Oriented):根据业务逻辑从上到下写代码
- 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
- 面向对象(Object Oriented):对函数进行分类和封装,让开发“更快更好更强…”
二 、基础概念
1、面向过程
概念
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。这里面放油,炒,放水就是三个步骤
分析图
2、什么是面向对象技术?
概念
面向对象的核心是对象(上帝式思维,自上而下)。世界万物皆是对象,我们在使用面向对象的时候,要有上帝造物的思想,从无到有,从上而下来设计。神说,要有光,于是就有了光。我们需要什么对象,即可造成相应的类来生成对象。
面向对象是一种以对象为基础,把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。仍然举作菜为例,其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的
分析图
3、面向对象与面向过程程序设计有什么不同?
- 面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。 函数与数据是否分离
- 面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。
- 面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序;由运行时各种事件的实际发生来触发
- 面向对象程序设计方法可以利用框架产品进行编程。 面向对象可利用框架面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。