黑马程序员技术交流社区
标题: 关于面向对象思想的理解 [打印本页]
作者: 血色@残阳 时间: 2015-3-2 20:55
标题: 关于面向对象思想的理解
楼主作为一个文科生,对于历史比较喜欢,这里通过一则历史小故事把我自己对面向对象的理解分享给大家,希望对刚接触面向对象的朋友有所帮助。
帝置酒雒阳南宫。上曰:“列侯、诸将毋敢隐朕,皆言其情。我所以有天下者何?项氏之所以失天下者何?”高起、王陵对曰:“陛下使人攻城略地,因以与之,与天下同其利;项羽不然,有功者害之,贤者疑之,此所以失天下也。”上曰:“公知其一,未知其二。夫运筹帷幄之中,决胜千里之外,吾不如子房(张良,字子房);填国家,抚百姓,给饷馈(供给军饷),不绝粮道,吾不如萧何;连百万之众,战必胜,攻必取,吾不如韩信。三者皆人杰,吾能用之,此吾所以取天下者也。项羽有一范增而不用,此所以为我所禽也。”群臣说服。(选自《史记·高祖本纪》)
上面是一则比较著名的历史典故,大意是说汉高祖刘邦取得天下之后宴请群臣,并向群臣问道,你们不要骗我,都说说我为什么能得天下?项羽为什么失去天下?这其中自然会有人拍马屁,刘邦不以为然,总结自己成功的原因,说出了一段精辟的分析。刘邦总结道:大帐内出谋划策,在千里以外决一胜负,我不如张良;平定国家,安抚百姓,供给军饷,不断绝运粮食的道路,我不如萧何;联合众多的士兵,只要打仗必定胜利,只要攻城必定取得,我不如韩信.这三个人都是人中豪杰,我能够任用他们,这是我取得天下的原因。
与刘邦相比,项羽打仗喜欢亲力亲为,身先士卒。想必项羽对于如何带兵作战的细节是非常清楚的,但作为一方势力的霸主,则是很不合格的,项羽完全没有必要精通作战的所有具体细节,可以说,项羽只适合成为一个绝世猛将,但绝不适合成为一方势力的主公。
那么,通过这个典故,就很容易来理解所谓编程的面向过程和面向对象思想。显然,项羽的例子就是面向过程的思维,项羽精通作战过程的所有细节,喜欢亲力亲为,但没有精力去精通政治谋略,阴谋诡计。而刘邦恰恰相反,刘邦本是乡间的地痞无赖,不学无术,但他的优点就是会用人,这正是面向对象的思想。刘邦不会谋略,但他会调用张良的谋略功能;刘邦不懂后勤,但他能调用萧何的后勤功能;刘邦不会打仗,但他会调用韩信的打仗功能。表面上看刘邦什么都不会,但事实上刘邦把什么事情都做成了,这就是面向对象思想。
面向对象的概述:
面向对象和面向过程都是一种思想。面向过程强调的是功能行为;面向对象则将功能封装进对象,强调具备了功能的对象。并且面向对象是基于面向过程的。
面向对象的特点:
是一种符合人们思考习惯的思想,它可以将复杂的事情简单化,并将程序员从执行者转换成了指挥者。
完成需求时:
a 、先要去找具有所需的功能的对象来用。
b 、如果该对象不存在,那么创建一个具有所需功能的对象。
c 、这样简化开发并提高代码复用。
作者: zfgrinm 时间: 2015-3-2 21:16
分析得很透彻啊...
作者: 硫氢化铁 时间: 2015-3-3 08:48
这个比喻好经典啊,楼主也真是有文采
作者: fantacyleo 时间: 2015-3-3 08:58
和lz一样 文科生 赞一个 一起愉快地抢理工生的饭碗吧
作者: 竹叶君子 时间: 2015-3-3 09:57
还是文科生比较有才,赞一个
作者: wu1123 时间: 2015-3-3 16:53
赞一个!!
作者: wdhm5423 时间: 2015-3-3 23:56
面向过程就是手把手教学,面向思想就是叫你干什么,自己干去。
作者: huangchunwei 时间: 2015-3-4 08:13
很好,好。赞一个。
作者: gaopeng868988 时间: 2015-3-4 09:41
以前都是理解的三步走,封装继承多态.
作者: 执念 时间: 2015-3-4 09:47
很好很强大!!
作者: sofeel 时间: 2015-3-4 13:03
很好!我错选了理科
作者: 黑马小夏 时间: 2015-3-4 13:15
理解的挺到位的,赞一个
作者: 菜鸟一号 时间: 2015-3-4 13:23
牛得一逼
作者: milimili 时间: 2015-3-4 14:46
上午陪一发小,且称他琪琪吧,办理股权转让手续收购了一家公司。
琪琪说,他不太懂电商营销,就招聘一位有丰富经验的电商营销经理;不能自己胜任美工,就招美工;不精通财务,就招会计;不熟悉税务,就招代理;;然后他每天踢着足球就把钱赚了。
想到我还在苦逼的创建对象,面向对象……
作者: Johnny_Hu 时间: 2015-3-4 17:18
:#本人喜欢项羽
作者: 血色@残阳 时间: 2015-3-4 17:25
项羽确实是千古难得一见的大英雄,李清照诗云:生当作人杰,死亦为鬼雄。至今思项羽,不肯过江东!但是英雄往往注定了悲剧,这个世界永远还是阴谋诡计的小人得势,这就是现实啊,唉……
作者: Johnny_Hu 时间: 2015-3-4 17:42
越是英雄 束缚他的东西越多
反倒是小人 什么都无所谓
正所谓 光脚不怕穿鞋的
作者: sofeel 时间: 2015-3-4 23:40
你的黑马币是0,怎么做到的?{:2_34:}
作者: yjsf216 时间: 2015-3-4 23:45
嗯,刘邦是个程序员
作者: sofeel 时间: 2015-3-4 23:49
本帖最后由 sofeel 于 2015-3-4 23:51 编辑
思想理解的再深刻、到位,还不如不懂.
因为不懂电商营销,因为不懂美工,因为不懂财务.....,所以我让别人做,我逍遥!
其实真的不懂面向对象的思想。
这不懂思想也是面向对象的?
难怪老庄云,有就是无,无就是有啊
我看还是无的好:轻松啊,自在啊,逍遥啊
作者: Oo不弃 时间: 2015-3-5 15:19
呵呵,理解挺透彻的!
作者: milimili 时间: 2015-3-10 11:50
楼主入学了吗
作者: welfsen 时间: 2015-3-14 21:39
深刻,面向对象就是解决实际问题的时候,交给特有的对象,发挥自己特方法,去解决问题!
作者: mark.tian 时间: 2015-3-14 22:50
首先,找对象,没有找到,自己创建一个对象用,不仅自己能用,别人也能用,这就是对象。。。程序员的对象
作者: 张耀东 时间: 2015-3-14 22:52
这个很形象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |