Java父类与子类中的方法相关

假设有StringgetID()这样一个方法,如果一群子类中只有个少数几个不需要这个方法而其他都要,那么这个方法是否可以写入父类中?这样符合设计理念么?谢谢... 假设有String getID()这样一个方法,如果一群子类中只有个少数几个不需要这个方法而其他都要,那么这个方法是否可以写入父类中?这样符合设计理念么?谢谢 展开
 我来答
匿名用户
2013-11-08
展开全部
当然可以啊,在子类中不需要这个方法的就不要重写这个方法(不要让它有这个功能)就可以了,不过这样做不是太好。父类还是定义一个子类公有的方法比较好,避免不必要的麻烦嘛,不过这样定义也是可以的。就是编程的时候注意下父类定义的方法是哪些,子类哪些需要这个方法,等等就好了。不要搞混了就行。希望采纳,谢谢。
百度网友33dcad5a0
2013-11-08 · TA获得超过164个赞
知道答主
回答量:69
采纳率:100%
帮助的人:81.2万
展开全部
虽然能编译,但是破坏了面向对象编程的基本要求,所以不可以。
1- 这样的类结构无法实现多态,也不能被其他程序员复用:如果“不需要这个方法”的子类getID()返回空或者无意义的值,在程序的其它位置一定会引起以空指针异常为代表的运行时错误。

2- 如果你发现“一群子类中有个少数几个不需要这个方法”,那么需要重新考虑你的类是否真的具有父子关系。(举个例子:正方形是长方形的子类吗?如果长方形有setLength和setHeight方法,那它们就不是父子关系,因为正方形不需要setLength和setHeight两个方法同时存在,参见权威读物effective java中关于继承的章节)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ying_2010
2013-11-08 · TA获得超过114个赞
知道小有建树答主
回答量:151
采纳率:50%
帮助的人:84万
展开全部
这个可以啊,父类的东西基本都是大部分子类需要的,才定义的,当然也会包含一些类是不需要的方法或属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式