经常看到有人说“这个不够OO”、“这个OO不够纯粹”等。
我想问,这里的解释OOP,够OO吗?够纯粹么?
请举例说明你认为的纯粹的OO,也可以给出书上的引用。
问题被踩了。?
话题属于开放性的话题,不会采纳回答(因为我不知道谁的对
现在的OO大体上有三种,基于继承,基于原型链,和基于组合。
一些人所说的“纯粹的OO”指基于继承的OO,但我不能同意这种说法。因为OO也是在发展的,基于继承的OO有时根本处理不了需要灵活、快速编程的情况。
再严格的语法规范,也不能阻挡小白写出过程式的代码。对高手来说,只要语言能实现oo就足矣。
这个不够OO
这句话本身就很口语,就是面向对象不够好 的意思
纯粹的OO,就是放个屁都是OO
Integer i = new Integer(2);
Integer j = new Integer(3);
Integer x = i.add(j);
下面的写法不够OO:
int i = 2;
int j = 3
int x = i + j;
首先,纯粹的OO,即纯粹的面向对象,不使用面向过程/函数式编程,而是使用对象;
其次,要秉持一种“一切皆是对象”的傲骨,坚决不用面向过程;
再者要使用各种设计模式:单例、工厂、策略、代理...;
编写高内聚、松耦合的代码,面向接口、面向协议的代码...