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

假设有String getID()这样一个方法,如果一群子类中只有个少数几个不需要这个方法而其他都要,那么这个方法是否可以写入父类中?这样符合设计理念么?谢谢

当然可以啊,在子类中不需要这个方法的就不要重写这个方法(不要让它有这个功能)就可以了,不过这样做不是太好。父类还是定义一个子类公有的方法比较好,避免不必要的麻烦嘛,不过这样定义也是可以的。就是编程的时候注意下父类定义的方法是哪些,子类哪些需要这个方法,等等就好了。不要搞混了就行。希望采纳,谢谢。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-08
虽然能编译,但是破坏了面向对象编程的基本要求,所以不可以。
1- 这样的类结构无法实现多态,也不能被其他程序员复用:如果“不需要这个方法”的子类getID()返回空或者无意义的值,在程序的其它位置一定会引起以空指针异常为代表的运行时错误。

2- 如果你发现“一群子类中有个少数几个不需要这个方法”,那么需要重新考虑你的类是否真的具有父子关系。(举个例子:正方形是长方形的子类吗?如果长方形有setLength和setHeight方法,那它们就不是父子关系,因为正方形不需要setLength和setHeight两个方法同时存在,参见权威读物effective java中关于继承的章节)。本回答被提问者采纳
第2个回答  2013-11-08
这个可以啊,父类的东西基本都是大部分子类需要的,才定义的,当然也会包含一些类是不需要的方法或属性
相似回答