028_面向对象_01_面向过程和面向对象的本质区别
一、本质
a)面向过程(Procedure Oriented):是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
b)面向对象(Object Oriented,OO):是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
二、区别
a)面向过程主要以过程为中心、而面向对象主要是事物为中心
b)面向过程用于解决一些比较简单的、而面向对象更适用于解决比较复杂的
c)面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。对比面向过程,面向对 象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。比如拿学生早上起来这件事说明面向过程,粗略的可以将过程拟为:
(1)起床
(2)穿衣
(3)洗脸刷牙
(4)吃早餐
(5)去学校
而这5步就是一步一步地完成,它的顺序很重要,你只需要一个一个地实现就行了。而如果是用面向对象的方法的话,可能就只抽象出一个学生的类,它包括这五个方法,但是具体的顺序就不一定按照原来的顺序。