猿问

封装和继承有矛盾吗

有个菜鸟问题.比如说我建立了一个父类Car,出于安全性考虑用private封装了它的几个属性.然后又建立了几个继承了Car类的子类,比如Bus类.但此时,由于Bus的父类的属性已经被private修饰,所以Bus类无法继承Car类的属性,那继承不就显得毫无意义了吗?所以,是不是为了继承就必须牺牲安全性??或者说为了继承就不能在父类中封装属性?这样,封装和继承不就有矛盾了吗?

qq_演_0
浏览 1556回答 3
3回答

qq_青枣工作室_0

可以用protected来封装嘛

linbingfeng

我是这样理解的,封装和继承有一定的矛盾性,所以我们需要根据实际情况去取舍。如果不想外部访问,又想子类继承可以用一楼的方法,使用Protected修饰父类属性。

finalObject

我觉得只要保证外部无法访问封装就起到作用了,对子类不可见有时候感觉会有点过度封装了
随时随地看视频慕课网APP

相关分类

Java
我要回答