设计模式- 合成/组合原则

《Effective Java》 复合优先于继承 与方法调用不同的是,继承打破了封装性。 上面的问题都来源于对方法的改写动作。如果你在扩展一个类的时候,仅仅是增加新的方法,而不改写已有的方法,你可能会认为这样做是安全的,但是也并不是完全没有风险。 有一种办法可以避免前面提到的所有问题,你不再是扩展一个已有的类,而是在新的类中增加一个私有域,他引用了这个已有的类的一个实例。这种设计被称作复合。 pu
相关文章
相关标签/搜索