看了好久的Thinking in Java, 现在好象才明白为什么及什么是面向对象了。
其实面向对象就是在程序设计中,对现实世界中各种事物(对象)之间关系的摸拟。
比如继承,就是生的孩子。比如组合,就是朋友关系。生的孩子不能太多,国家要管的;但是朋友有多少个都行,所以要“多用组合,少用继承”。
多态,用接口实现。接口其实只是定义你要实现什么东西,至于你怎么实现我不管,总之你得给我实现了。这样,实现了这个接口的对象,就可以向接口转型。再按接口的方法来调用,具体怎么实现就看你自己了。这样,也就实现了“向扩展开放,向修改封闭”。
而委托,则是松O和的最佳例子。这种事件你帮我处理...我只告诉你发生了,然后你处理,完了告诉我结果。中间你是怎么处理的,我不知道也不想知道。
难怪有人说OO是软件设计的一大进步,确实有它的道理。这样在处理大型软件设计的时候就会很有条理。 但是对我来说,实际上不可能涉及到这种情况,更多的是作为一个类的消费者去实例化,然后使用他们。不过,理解这个东西确实有很大的好处。
还看到有个人说:EJB其实是Java的COM+.困惑中...还有,这两天正在研究正则表达式,真的是很有意思。看起来一团乱麻的东西,当你了解其中的意义的时候就显得很清晰,而且很有用。
还有反射。NET编译生成的PE文件中包含两部分,一部分是MSIL,另一部分是MetaData元数据。反射就是读取元数据来确认PE信息的手段,有点类似于Python中的自省。
posted on 2006-09-18 13:56
孙青霞 阅读(178)
评论(0) 编辑 收藏 引用