楼主作为一个文科生,对于历史比较喜欢,这里通过一则历史小故事把我自己对面向对象的理解分享给大家,希望对刚接触面向对象的朋友有所帮助。 帝置酒雒阳南宫。上曰:“列侯、诸将毋敢隐朕,皆言其情。我所以有天下者何?项氏之所以失天下者何?”高起、王陵对曰:“陛下使人攻城略地,因以与之,与天下同其利;项羽不然,有功者害之,贤者疑之,此所以失天下也。”上曰:“公知其一,未知其二。夫运筹帷幄之中,决胜千里之外,吾不如子房(张良,字子房);填国家,抚百姓,给饷馈(供给军饷),不绝粮道,吾不如萧何;连百万之众,战必胜,攻必取,吾不如韩信。三者皆人杰,吾能用之,此吾所以取天下者也。项羽有一范增而不用,此所以为我所禽也。”群臣说服。(选自《史记·高祖本纪》) 上面是一则比较著名的历史典故,大意是说汉高祖刘邦取得天下之后宴请群臣,并向群臣问道,你们不要骗我,都说说我为什么能得天下?项羽为什么失去天下?这其中自然会有人拍马屁,刘邦不以为然,总结自己成功的原因,说出了一段精辟的分析。刘邦总结道:大帐内出谋划策,在千里以外决一胜负,我不如张良;平定国家,安抚百姓,供给军饷,不断绝运粮食的道路,我不如萧何;联合众多的士兵,只要打仗必定胜利,只要攻城必定取得,我不如韩信.这三个人都是人中豪杰,我能够任用他们,这是我取得天下的原因。 与刘邦相比,项羽打仗喜欢亲力亲为,身先士卒。想必项羽对于如何带兵作战的细节是非常清楚的,但作为一方势力的霸主,则是很不合格的,项羽完全没有必要精通作战的所有具体细节,可以说,项羽只适合成为一个绝世猛将,但绝不适合成为一方势力的主公。 那么,通过这个典故,就很容易来理解所谓编程的面向过程和面向对象思想。显然,项羽的例子就是面向过程的思维,项羽精通作战过程的所有细节,喜欢亲力亲为,但没有精力去精通政治谋略,阴谋诡计。而刘邦恰恰相反,刘邦本是乡间的地痞无赖,不学无术,但他的优点就是会用人,这正是面向对象的思想。刘邦不会谋略,但他会调用张良的谋略功能;刘邦不懂后勤,但他能调用萧何的后勤功能;刘邦不会打仗,但他会调用韩信的打仗功能。表面上看刘邦什么都不会,但事实上刘邦把什么事情都做成了,这就是面向对象思想。 面向对象的概述: 面向对象和面向过程都是一种思想。面向过程强调的是功能行为;面向对象则将功能封装进对象,强调具备了功能的对象。并且面向对象是基于面向过程的。 面向对象的特点: 是一种符合人们思考习惯的思想,它可以将复杂的事情简单化,并将程序员从执行者转换成了指挥者。 完成需求时: a 、先要去找具有所需的功能的对象来用。 b 、如果该对象不存在,那么创建一个具有所需功能的对象。 c 、这样简化开发并提高代码复用。 |