一、面向过程程序设计
1)传统的结构化程序设计通过设计一系列的过程(即算法)来解决问题。当确定过程之后,再开始考虑存储数据的方式。算法是第一位的,数据结构是第二位的。
2)首先确定如何操作数据,然后再决定如何组织数据,以便于数据操作。
3)面向过程是一种以事件为中心的编程思想,以功能(行为)为导向,按模块化的设计,就是分析出解决这个问题所需要的步骤,然后用函数把这些步骤一步一步实现,实现时依次的调用相应的函数即可。
4)面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操作是分离的。
5)面向过程程序设计方法以功能为中心来设计功能模块,难于维护
二、面向对象程序设计(oop)
1)oop将数据放在第一位,然后再考虑操作数据的算法。 2)面向对象的技术,是一种以对象为基础,以事件或消息来驱动对象运行处理的程序设计技术。它具有封装性,继承性以及多态性。
<1> 封装:把客观事物封装成抽象的类,隐藏属性和方法的实现细节,仅对外公开接口。
<2> 继承:子类可以使用父类的所有功能,并且对这些功能进行扩展。继承的过程,就是从一般到特殊的过程。
<3> 多态:接口的多种不同的实现方式即为多态。同一操作作用于不同的对象,产生不同的执行结果。在运行时,通过指向基类 的指针或引用来调用派生类中的虚函数来实现多态。
(封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的类。它们的目的都是为了---代码重用。而多态则是为了实现另一个目的--接口重用)
3)一种以实物为中心的编程思想,以数据(属性)为导向,将具有相同属性的物体抽象分装为类,而有了这些数据(属性)之后,我们再考虑他们的行为(对这些属性进行如何的操作)
4)oop是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描写叙述某个事物在整个解决这个问题的步骤中的行为。
5)面向对象编程是将事物对象化,通过对象来解决问题。面向对象编程,数据和对数据的操作是绑定在一起的。
6)面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。
7)面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序,由运行时各种事件的实际发生来触发。