2023-03-07 08:53来源:m.sf1369.com作者:宇宇
面向对象是相对于面向过程来说的。
先说面向过程:总体来说面向过程的程序可以大概看成 :全局变量+函数 。这是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。
面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织.
但是当程序到达一定规模的时候,面向过程的缺点就表现出来,其中最大的特点是代码不容易维护。
面向对象是一种编程思想。相对面向过程,对业务的思维发生了改变。程序由类构成。
采用面向对象思想设计的程序,可读性高,由于继承和多态的存在,维护和扩展起来是比较方便和较低成本的。
由于继承、封装、多态的特性,设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
面向对象编程的最高境界是基于接口编程,所以掌握好多态的特性对于面向对象的学习很重要。一切皆对象。
面向过程:就是程序只用顺序、判断(if、else)、循环等程序结构的程序设计语言
面向对象:程序中不仅有上面的程序结构,还包括定义对象、继承、多态的方式
面向对象和面向过程都是一种将现实世界事物抽象的过程。
所谓面向对象的描述对事物按一定共性建立类别进行描述的过程。
人可以按性别分类:男人 女人,你是怎么建立这个概念,你刚生出来就知道了吗,不是,这是在日后的生活中慢慢理解的。这就是一种面向对象的抽象过程(对象:人 属性:性别)。
面对象设计最大问题是,对事物理解的不深刻无法对其建立抽象类别,就好比是,在你真正理解性别这个词语的意思前,你是无法按性别来对人进行分类的。
面向对象设计最容易出现的问题就是分类有问题:
比如:
对象:人
属性:性别
但你在程序设计中,把性别的两个值分别设置成为“ 男” 和 “儿童”,你别笑,这是目前面向对象设计中最容易出现的错误。
理解了面向对象的意思后,在来说一下面向过程,在继续前,你要明白过程和对象是一个不可分割的整体,只不过,是设计的过程中关注点不同而已。
我们通过实例来说明一下。
刷牙:挤牙膏,把牙刷放到口中,开始刷,然后喝水,吐水。
整个刷牙过程就是面向过程,过程中的每个环节我们就可以用面向对象的思路来考虑设计方法。
对象:挤牙膏 属性:牙膏量(大,小)
对象:开始刷 属性:刷牙位置(上方的牙,下方的牙)
对象:吐水 属性:喷水的方式(大力的吐,。。。)
面向过程以及面向对象
面向过程就是逐步分析解决问题的步骤
面向对象是把问题分为多个对象,逐步解决。
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。