A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

能不能举一个简单的例子,不要介绍那些理论的东西,看得头疼。

7 个回复

倒序浏览
你亲你的对象,描述亲的过程是面向过程
描述你,亲你对象是其中一向功能,是面向对象
回复 使用道具 举报
张孝祥老师有专门讲面向对象
列车司机刹车
人在黑板上画圆
关门
斧子砍柴----木材变家具
万物 皆对象 面向对象就是找个中间物 来把整件事情 串联起来
找的这个对象 必须是事件体
回复 使用道具 举报
这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。

  蛋炒饭制作的细节,我不太清楚,因为我没当过厨师,也不会做饭,但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢,则是把米饭和盖菜分别做好,你如果要一份红烧肉盖饭呢,就给你浇一份红烧肉;如果要一份青椒土豆盖浇饭,就给浇一份青椒土豆丝。

  蛋炒饭的好处就是入味均匀,吃起来香。如果恰巧你不爱吃鸡蛋,只爱吃青菜的话,那么唯一的办法就是全部倒掉,重新做一份青菜炒饭了。盖浇饭就没这么多麻烦,你只需要把上面的盖菜拨掉,更换一份盖菜就可以了。盖浇饭的缺点是入味不均,可能没有蛋炒饭那么香。

  到底是蛋炒饭好还是盖浇饭好呢?其实这类问题都很难回答,非要比个上下高低的话,就必须设定一个场景,否则只能说是各有所长。如果大家都不是美食家,没那么多讲究,那么从饭馆角度来讲的话,做盖浇饭显然比蛋炒饭更有优势,他可以组合出来任意多的组合,而且不会浪费。

  盖浇饭的好处就是"菜""饭"分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是"可维护性"比较好,"饭" 和"菜"的耦合度比较低。蛋炒饭将"蛋""饭"搅和在一起,想换"蛋""饭"中任何一种都很困难,耦合度很高,以至于"可维护性"比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。
回复 使用道具 举报
面向对象:
面向对象是一种思想,从执行过程转变成指挥(调用)的过程。将功能封装进对象,强调具备了功能的对象,面向对象是基于面向过程的。为什么说是基于对象呢?比如猫抓老鼠,强调的是猫,并不是抓,而抓老鼠是封装在猫这个对象里面了;而抓老鼠,强调的是过程(动作过程),并不知道是谁在抓老鼠,这个动作属于谁?都不知道,想调用它。只能找这个动作过程,这就体现出来了封装性的好处。只要把一些功能封装在了某个对象中,不但自己可以随时调用它里面的任何功能,别人也可以调用。所以说面向对象在现实生活中随处可见,我们平时用的电脑,喝水的杯子,桌子,交通工具等等都是一个一个对象,只要他有存在的意义就一定有某种功能,所以我们每天都在面向各种对象,而自己其实也是一个对象!
比如:打开冰箱,存储进冰箱,关闭冰箱,都是强调动作的过程。
          而冰箱打开,冰箱存储,冰箱关闭,都是强调冰箱,而此时冰箱就是一个对象,
          在冰箱对象中有各种功能
回复 使用道具 举报
你知道面向对象里什么是类什么是对象吗。类是概念化的抽象的,对象是具体的实在的,有形的实体或实例。面向对象说到底是类与对象互相作用下的一种程序设计机制,面向过程就是只有一条代码线索,根据语义不断的执行。最简单的最生活化的面向对象例子,“女人”就是一个类。它是概念化的抽象的,因为我们很难说清楚“女人”具体是什么,而女友就是对象。她是你身边的实际存在的一个人一个实体。你记着这个例子就明朗很多。类和对象之间的关系是很耐人寻味的。
回复 使用道具 举报
李飞 中级黑马 2012-3-19 00:06:23
7#
1. 早上起来,太懒了,跑到小摊买早点吃,面向对象;自己做这吃,面向过程
2. 打公交车去上班,面向对象;自己走去,面向过程
3. 坐电梯上去,面向对象;自己走上去,面向过程

简而言之:如果能用别人的方法办到的事情,就让别人去做,这就是面向对象
          如果是凡事自己亲力而为,就是面向过程

所以我们选择偷懒的方法,让别人去做,也就是面向对象
回复 使用道具 举报
    对象:是指一个整体、实体。
    过程:是指解决问题的步骤。
    比如说人就是一个对象,具有学习的功能,可以发贴,可以看贴等,我们只要说人这个个体,就知道它具有这些功能。万物都可以理解成一个对象,因为万物都具有自己的功能。
    拿我们发贴来说明面向过程:1、进入发贴界面,2、打开需要的输入法,3、用键盘敲打文字,4、点击发贴按钮。
    “面向对象”是由现实社会中各种各样的事物组成的,编程恰好是在模拟现实社会,程序也要用一些东西来表示现实社会中的事物,这些东西就是程序中的对象。我们在程序中使用这些对象,对其特征和行为进行操作编程。它能提高代码复用性,使用者无需关心具体细节,转变程序员角色,更加符合人的思维习惯。
    “面向过程”是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马