01面向对象与面向过程的区别
类是对一类事物的描述,是抽象的、概念上的定义;
理解:类是描述一类事务的特征,包括静态特征(描述事务不变的特性,如 变量 属性),动态特征(描述事务的动作、行为,如 函数 方法)。
对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
类和对象是面向对象的核心概念
类(class) 对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义
对象(object) 对象是实际存在的该类事物的每个个体。因而也成为实例(instance)
面向过程与面向对象的区别:
面向过程”是一种以事件为中心的编程思想。
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
“面向对象”(Object Oriented,简称OO)是一种以事物为中心的编程思想。
面向对象的程序设计(Object-OrientedProgramming,简记为OOP)
比如以公共汽车而言。
“面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们关心的是某一个事件。而不是汽车本身。我们分别对启动和到站编写程序。类似的还有修理等等。
到了编程就是:
publicclass 运营
{
void 汽车启动
{
}
void 汽车到站
{
}
}
“面向对象”需要建立一个汽车的实体,由实体引发事件。我们关心的是由汽车抽象成的对象,这个对象有自己的属性,象轮胎,颜色等;有自己的方法,象启动,行驶等.方法也就是汽车的行为.而不是汽车的每个事件
public class 汽车
{
void 到站()
{
}
void 启动()
{
}
}
使用的时候需要建立一个汽车对象,然后进行应用。
面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想.可以说面向过程是一种基础的方法.它考虑的是实际的实现.一般的面向过程是从上往下步步求精.所以面向过程最重要的是模块化的思想方法.对比较面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织.比如拿学生早上起来的事情来说说这种面向过程吧.粗略的可以将过程拟为:
(1)起床
(2)穿衣
(3)洗脸刷牙
(4)去学校
而这4步就是一步一步的完成,它的顺序很重要,你只须一个一个的实现就行了.而如果是用面向对象的方法的话,可能就只抽象出一个学生的类,它包括这四个方法,但是具体的顺序就不能体现出来.
上述文章是在学习程序设计时的整体编程思想到的划分,具有很好的系统性。
面向过程的编程更像是去按照事情的顺序去编写,而面向对象的编程思想更像是先定义了对象某一事物的属性后再去编写方法。这个事物有自己的属性,然后再在方法Methods中定义事物的行为,上述文章以汽车为例,形象的描述这两种思想的迥异,实为经典!
相关博客:http://www.cnblogs.com/dbEssay/p/6358253.html 心得 : 面向对象和面向过程的区别
http://blog.csdn.net/ithzhang/article/details/51952797 对面向过程与面向对象的一点感悟