java的继承

破坏了封装性,因为这会将父类的实现细节暴露给子类。对于后半句理解不能,继承会暴露父类的实现细节吗???求大侠详细解答~~~... 破坏了封装性,因为这会将父类的实现细节暴露给子类。

对于后半句理解不能,继承会暴露父类的实现细节吗???求大侠详细解答~~~
展开
 我来答
天亮中
2013-09-13 · TA获得超过6755个赞
知道小有建树答主
回答量:1404
采纳率:66%
帮助的人:670万
展开全部
继承破坏了封装性,换句话说,子类依赖于父类的实现细节。 需要进一步说明,这与方法调用不同,方法调用也依赖被调用的方法,但是并不依赖细节,也就是说,只要方法整体实现没有问题,方法调用就没有问题,但是继承很容易改变父类实现的细节(所以父类中能写成final尽量写成final),即使父类整体没有问题,也有可能因为子类细节实现不当,而破坏父类的约束。这使得继承具有脆弱性。 或者说,继承让子类很容易破坏影响父类的约束,父类约束的实现依赖子类的实现,并且,父类在他的后续版本中可以获得新的方法,而这个会对子类造成影响,虽然子类的代码没有变化,当初子类实现的时候也不知道未来的变化,显得很无辜。 Here, overriding is the root of evil..... 继承使得到的API限制在原始想重用的实现上,导致可变更性变差,限制了你的类的性能。 继承使得有了更多机会来暴露了类内部的细节,比如Properties p的例子,p.getProperty(String key),p.get(String key)。 继承很容易传播现有API内部的缺陷

http://www.dewen.org/q/6210
追问
额,你这不是手打的吧。。。能告诉我出处吗?我去看看,然后给分
qbj2002
2013-09-13 · TA获得超过513个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:289万
展开全部
我怎么觉得这句话像在扯淡呢?

什么叫破坏了封装?
你封装时,访问控制是做什么用的??
如果都不想暴露给子类,不会定义成private的吗??

子类重写父类方法,那是子类自己的实现,跟你父类没有半毛钱关系。
所以说继承破坏封装,那是自己在封装父类时访问控制做得不好,跟集成本身没有关系。
java 的面向对象里,继承和封装 都是 很优秀的想法,不存在问题。 个人简介,一家之言,你可以再听听高人的见解。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ysl3667819
2013-09-13
知道答主
回答量:18
采纳率:0%
帮助的人:9.4万
展开全部
(I)继承的定义(1)继承就是在现有类的基础上构建亲的子类。(2)当一个类继承一个现有类后,可以对被继承类中的属性和方法进行重用。(3)在Java中,一个类只能有一个父类,不支持多继承。(II)继承的实现(1)语法:<修饰符>class<子类名>extends<父类名>{.....}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-09-13 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1014万
展开全部
如果全是重载父类的protected方法应该也不算暴露父类的实现细节吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙上塔
2013-09-13 · TA获得超过135个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:187万
展开全部
看看java反射机制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxz373456404
2013-09-13 · 超过12用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:43.2万
展开全部
老爸的东西不给儿子用,还叫什么老爸,这不叫暴露
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我这样的人啊
2013-09-13
知道答主
回答量:8
采纳率:0%
帮助的人:1万
展开全部
问题说清楚啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式