葡萄啊快长--关于面向对象

来源:互联网 发布:大数据 统计 编辑:程序博客网 时间:2024/04/29 02:35
    生活,其实是不容易的,而要好好的生活,就更难了。既然这样,那我们为什么还要生活?很简单,我们的人生是用来克服困难,并且解决复杂问题的。
    然而,你会发现,同样的问题,不同的人的处理方式是多么的异样,有的人粗鲁,而且暴力,但是我们不行。为什么?因为我们的头脑强壮了,但是四肢却是如此的儒生。所以,我们需要优雅地处理问题,但是这并不是为了显示我们的头脑强壮,而仅仅是因为我们别无选择。
    计算机是我们优雅地解决复杂问题的一个好帮手,或者说,她更像我们头脑的一部分。只不过我们需要额外掌握一门“外语”来与她亲密的交流,从相识,相知,到喜欢,以至于爱到深处。很明显,她在考验你的耐心,以及你对她的痴迷程度,并且让她觉得她对你来说物有所值。
    这场童话般的交流,有的人略有少成了,俘获芳心,她对他千依百顺,有的人失恋了,因为他发现她难以驾驭,而且他不喜欢那种被抽象了的感觉,而更多的人则是磕磕绊绊,日子过得很实在,虽然总是01010101,却被包装成了音符。也许,快乐也可能就是这么简单。
    所有的编程语言都提供抽象机制,因为,人们都喜欢神话中的仙女,虽然一生都没有见过,却总是想入非非,而且欲罢不能。
     Bruce说,哦,他说得太多了。还是听听Alan Kay说说Java所基于的语言之一Smalltalk的五个基本特性吧。
     第一个,万物皆为对象。非常哲学的一种味道,庆幸,我是唯物主义者。老陆说,如果你到了连狗都没有见过的境界,那么你就彻底明白什么是面向对象了。如果这样的话,有点悲哀,我想,因为我得告诉自己,我这辈子没见过女人。还好,我见过女人的N个对象,甭管这些对象是用什么修饰符修饰的,总之,这群对象最大的属性就是:我没有的,她们有;他们没有的,我有。将对象视为奇特的变量,除了我没有她们有的那些属性外,她们还具有能够对自身执行操作的方法,并且这样的方法,有独特的,亦有共性的。
     第二个特性,程序是对象的集合,它们通过发送消息来告知彼此所要做的。正像你跟你的恋人,如果谁也不主动伸出手来,那么可能临近失恋,你们亦不曾牵起过对方的温暖的手,当然,如果你们达成口头协议说,咱俩同时伸手吧,谁也不吃亏,那么大家就更清楚对方想要做的了。
     第三个特性,每个对象都有自己的由其他对象所构成的存储。换句话说,如果你天生少了颗肾,等你有钱了,又觉得一颗肾不够你逛一晚上烟花巷的,那么,买一颗别人的移植到你的身上,你便是个具有别的对象的部件的对象了。
     第四个特性,每个对象都拥有其类型。就如你我,我们的类型都是人类,而旺财是条狗,小强的类型是蟑螂而已。而每个类型区别于其他类的特性就是”可以发送什么样的消息给它“。
     第五个特性,某一特定类型的所有对象都可以接受同样的消息。就像我们中国人通常可以接受中文的消息,而老外也通常只接受他们自己的语言的消息一样。
     感觉像在叙述哲学。其实Booch对对象的描述更加简介:
对象具有状态,行为和标识。这意味这每一个对象都可以拥有内部数据(它们给出来该对象的状态)和方法(它们产生行为),并且每一个对象都可以唯一地与其他对象区分开来(唯一的标识)。
最后,大家多浇水罗,为了俺的葡萄。对了,我没见过葡萄。
原创粉丝点击