该如何理解一切皆是对象这句话?

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:50:46
书上的解释没怎么明白。

很简单,比如说你写个程序实现的功能是:我去上学

以前我们是面向过程的,所以你要写一个函数表示“去”你可以写成骑车去,或者坐车去,然后你要表示“我”和“学校”

而在面向对象里面:一切皆对象!
意思就是:“我”是一个对象,具体怎么实现的“我”,我们可能还不能了解,但是我们知道这个是“我”,就可以运用了;然后“去”由于也是一个对象,我们不必了解是走着去还是骑车去,因为“去”是一个对象,你调用它就好了,“上学”也一样

所以当你用面向对象的时候:我去上学,这句话有三个对象,你只要在主函数里面调用这些对象的相应的方法就好了。
所以在面向对象中,你的代码必须写在类里面

面向对象里面的代码的复用性大大提高,因为所有的面向过程的函数都成为了对象,可以重复调用,比如“去”,你也可以变成:我去上班。

I can call spirits from the vasty deep.
Why, so can I, or so can any man; but will they come when you do call for them?
- SHAKESPEARE

‘一切皆对象!’这句话解释网上一查一堆。但这句话你到不同程度会有不同的理解,侯捷当初也是在多年经验的基础上译出这句话。需要你在项目中慢慢体会的,你达到了一个程度,自然会理解到一个程度。说了解它的含义你应该知道什么样的设计能使得模块的重用最大化?

更重要的是,你应该知道怎样设计能延伸相同的策略,使它不但可以包括发布产品,而且还包括以增量开发策略创建的后续中间版本,这样,产品可以通过它的中间阶段,以最低限度的回溯代价增长。

一、分解
(一)“一切皆对象”实际是“一切皆类的对象”的“省略说法”,翻译时不严谨;
(二)一切皆对象=一切皆“类的对象”;
(三)类=集合(类比);
(四)对象(实例)=元素(类比);
(五)“对象(实例)与类”的关系就是“特殊性与共性”的关系;
(六)“元素与集合”的关系“也是”“特殊性与共性”的关系;
(七)由“以上(五)和(六)”可得:无