面向过程编程思想和面向对象编程思想

一、面向过程编程思想

百度百科这样解释:
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。
面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
个人理解:
通俗地讲,我们在编写代码时,我们看到是一步一步执行的过程——即面向过程。 最典型的就是c语言,其实就是通过函数体现,并不断的调用函数,执行完成过程即可。
举个例子,当我们解决一个“如何将大象装入冰箱?”的问题时,最简单的解决思路是面向过程解决:

1、关注过程,将大问题拆解为小问题,实现每个小问题的解决方法
a、打开冰箱门
b、将大象装入冰箱
c、关闭冰箱门
2、通过控制代码,控制模块执行,执行顺序为a->b->c,问题解决。

虽然面向过程编程思想可能看起来比较笨拙,可能会造成代码臃肿,但是它却是最贴近硬件的,CPU在执行指令的时候就是按照一条一条指令执行下去的。

二、面向对象编程思想

要了解面向对象,我们首先需要知道什么是对象?

1、对象和类

万事万物都是对象,对象是自然界的任一个体,比如一本书、一支笔,一片叶子等,而对象和对象间是有相似之处的,比如书(每本书都是一个对象)都是由纸做成的,都印着内容(性质上的相似点),都是用来看的(行为上的相似点),将这些相似之处抽象出来就是类(抽象这个词很难懂,那么说成是分类、提取出事物的共同要素更易理解),类的实例就是对象。

2、面向对象编程思想

百度百科这样解释:
面向对象(Object Oriented,OO)是软件开发方法。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

当遇到一些简单的程序或者逻辑时,我们可以使用面向过程的编程思想,当问题的规模稍大时,我们就需要用到面向对象的编程思想了
面向对象的主要特征:
(1)封装:
封装是一种信息隐蔽技术,它体现于类的说明,使数据更安全,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。
(2)继承:
继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述。如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承支持系统的可重用性,从而达到减少代码量的作用,而且还促进系统的可扩充性。
(3)多态:
对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定。

三、面向过程和面向对象编程的区别

(1)面向过程的思维方式是分析综合。面向对象的思维方式是构造
(2)对面向过程而言,数据是独立的。而在面向对象中,对象本身就提供了存储数据的空间(类的数据成员),这样就是函数的参数传递简单多了,而且提供了数据封装后,数据的访问也变可靠了。
(3)面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。
(4)面向过程是一种自顶向下的编程。面向对象是自下先建立抽象模型然后再使用模型。

你可能感兴趣的:(面向过程编程思想和面向对象编程思想)