再识面向对象和面向过程
来源:互联网 发布:edf调度算法举例 编辑:程序博客网 时间:2024/05/22 00:48
从接触VB学习计算机开始,就一直听说面向对象和面向过程,老师也不止一次讲过面向对象和面向过程,可是我还是傻傻分不清,现在又学习了软件工程视频,文档编写和UML视频,再次接触了面向对象和面向过程的技术,真的验证了老师和师傅们说的一句话:面向对象和面向过程贯穿我们整个学习过程,需要慢慢钻研,逐渐深入。学习一年了,再谈一谈今天我的理解!
【面向对象】
面向对象技术是一种程序设计的方法,是一种对现实世界中的问题的抽象方式。
【面向过程】
面向过程:顾名思义,研究的是一个过程;在达到同样目的的时候,是以整个过程来研究的,如果其中某一个发生错误,就必须从头开始修改,有时候甚至可能影响整个系统,就是常说的:牵一发而动全身。
【举例理解】
下面我用举例的方法来说明我的认识,如果有不恰当的请大家指正。
实例
例如:前提条件小明和小红都是刚刚睡醒
他们需要完成以下动作
1、小明洗漱:如果小明要完成这个动作,需要的几个步骤:起床-穿衣服-下地-到洗手间-洗漱
2、小明烧水:如果小明要完成这个动作,需要的几个步骤:起床-穿衣服-下地-到厨房-接水-开火-烧水
3、小明做饭:如果小明要完成这个动作,需要的几个步骤:起床-穿衣服-下地-洗菜-炒菜
4、小红去上学如果小红要完成这个动作,需要的几个步骤:起床-穿衣服-下地-洗漱-吃饭-背书包-上学
大家应该看到我以上写的东西,想说真是复杂繁琐,还有很多重复的内容,是的,这才是重点,知道这个我想理解面向对象和面向过程就容易些。
分析
1、2、3、4都是过程,就是达到一个目标需要经过的详细步骤,那么那些重复的部分“起床-穿衣服-下地”就显得冗余,我们就可以想办法把这些重复出现的内容封装起来复用,需要它的时候直接调用。比如我们可以分析小明和小红都是人,可以抽象出一个类People,“起床-穿衣服-下地”都是他们发出的动作,同样可以拿出来一起共享,是他们都可以做到的方法。然后不同的行为成为自己特有的部分,这样就会方便很多吧!
我们把小红和小明都封装在人这个类中,共同的动作成为人的方法A,只写不同的部分就可以了。
以上行为的优化
5、P(小明洗漱):A-到洗手间-洗漱
6、P(小明烧水):A-到厨房-接水-开火-烧水
7、P(小明做饭):A-到厨房-洗菜-炒菜
8、P(小红去上学):A-洗漱-吃饭-背书包-上学
这样是不是简单了呢,这就是面向对象的研究。
小红、小明就是People中的对象,我们针对小明和小红进行研究分析,就是面向对象的研究,就是面向对象的技术。
通过上面这个例子重新认识了面向对象和面向过程,可以看出各有各的特点,面向对象和面向过程不是单独存在的,他们相辅相成,这就是我现在的理解,如果有不对的地方希望大家帮我指出来。
此文以实例来说明面向对象和面向过程,详细部分待续……
- 再识面向对象和面向过程
- 面向过程和面向对象
- 面向对象和面向过程
- 面向过程和面向对象
- 面向过程和面向对象
- 面向对象和面向过程
- 面向过程和面向对象
- 面向过程和面向对象
- 面向对象和面向过程
- 面向对象和面向过程
- 面向对象和面向过程
- 面向对象和面向过程
- 面向对象和面向过程
- 面向过程和面向对象
- 面向对象和面向过程
- 面向对象和面向过程
- 面向过程和面向对象
- 面向对象和面向过程
- wamp下配置Smarty
- 复制构造函数与赋值函数的区别
- for-each用法误区(不能改变数组元素值)
- 【IOS 开发学习总结-OC-29】★★objective-c之foundation 框架——(集合类)数组
- 八大排序算法
- 再识面向对象和面向过程
- 天声人語 20151003
- 在eclipse右键new菜单项中添加android application
- MapReduce程序的工作过程
- 抽象类和接口联系与区别
- java学习笔记之动态编译
- 日经春秋 20151003
- MySql存储过程 MySql存储过程详解
- JS中的定时器