java面向对象上(八)继承和组合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/83246128

继承破坏了封装,使用组合不会破坏封装?

子类可以直接访问父类的成员,父类的实现细节对子类不再透明,,从而导致了子类可以恶意篡改父类的方法,破坏了父类的封装性

为了保持父类的封装性,可以这么设计父类

(1)将父类成员变量设为private,不让子类直接访问父类成员变量

(2)将父类的某些方法用private修饰,不让子类可以随意修改父类方法

利用组合实现复用?

把旧类对象作为新类的成员变量组合进来,用以实现新类的功能

猜你喜欢

转载自blog.csdn.net/strivenoend/article/details/83246128
今日推荐