版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/83246128
继承破坏了封装,使用组合不会破坏封装?
子类可以直接访问父类的成员,父类的实现细节对子类不再透明,,从而导致了子类可以恶意篡改父类的方法,破坏了父类的封装性
为了保持父类的封装性,可以这么设计父类
(1)将父类成员变量设为private,不让子类直接访问父类成员变量
(2)将父类的某些方法用private修饰,不让子类可以随意修改父类方法
利用组合实现复用?
把旧类对象作为新类的成员变量组合进来,用以实现新类的功能