C/C++中面向对象和面向过程的区别?

面向对象(Object Oriented Programming,OOP)编程模型首先抽象出各种对象(各种类),并专注于对象与对象之间的交互,对象涉及的方法和属性都封装在对象内部。

面向对象的编程思想是一种依赖于类和对象概念的编程方式,一个形象的例子是将大象装进冰箱:

冰箱是一个对象,大象也是一个对象。

冰箱有自己的方法,打开、存储、关闭等;大象也有自己的方法,吃、走路等。

冰箱有自己的属性:长、宽、高等;大象也有自己的属性:体重、高度、体积等。

面向过程(Procedure Oriented Programming,POP)编程模型是将问题分解成若干步骤(动作),每个步骤(动作)用一个函数来实现,在使用的时候,将数据传递给这些函数。

面向过程的编程思想通常采用自上而下、顺序执行的方式进行,一个形象的例子依旧是将大象装进冰箱:

打开冰箱。

把大象装进冰箱。

关闭冰箱。


面向对象和面向过程的区别:


安全性角度。面向对象比面向过程安全性更高,面向对象将数据访问隐藏在了类的成员函数中,而且类的成员变量和成员函数都有不同的访问属性;而面向过程并没有办法来隐藏程序数据。

程序设计角度。面向过程通常将程序分为一个个的函数;而面向对象编程中通常使用一个个对象,函数通常是对象的一个方法。

逻辑过程角度。面向过程通常采用自上而下的方法;而面向对象通常采用自下而上的方法。

程序扩展性角度。面向对象编程更容易修改程序,更容易添加新功能。


蓝海大脑 京ICP备18017748号-1