我有一种情况,我必须为超类中的子类引用放置getter和setter。我只是需要知道它是否是一个好的做法?
我已经给出了以下代码。
public class SuperClass{
String commonProperty;
private BaseClass baseClass;
public void setBaseClass(BaseClass baseClass){
this.baseClass = baseClass;
}
public BaseClass getBaseClass(){
return this.baseClass;
}
}
public classs BaseClass extends SuperClass{
String uncommonProperty;
}
public class SuperClass{
String commonProperty;
private BaseClass baseClass;
public void setBaseClass(BaseClass baseClass){
this.baseClass = baseClass;
}
public BaseClass getBaseClass(){
return this.baseClass;
}
}
public classs BaseClass extends SuperClass{
String uncommonProperty;
}
答案 0 :(得分:1)
这是一个代码气味,你的设计出了问题。正如@Ben所说,我们不知道你的具体情况。但是既然你问的是我猜你觉得某事错了。你是对的。
重申一下,子类继承自超类,因此通过OO语言工作的基本方式,您不需要那种引用。
答案 1 :(得分:0)
一般来说这是不好的做法,因为超类不应该知道谁在扩展它。此外,这仅限于一个子类。您可以使用反射来查找所有子类,但这通常也是设计错误的指标。
在不知情的情况下,我很想你不需要这样做。
答案 2 :(得分:0)
这不是最好的编码或设计实践,因为Super类不需要其子类的任何内容,只有subclasses
必须知道superclass