我不是那么优秀的面向对象设计..所以请耐心等待..
我有 A 类,还有 2 个扩展 A 的类。但是它们都有相同的字段。所以更好的是,在 A 中具有 getter/setter,或者在两个子类中具有相同的 getter/setter。或者有没有更好的方法来做到这一点..?
这就是我所做的(模拟)..
class A{
private int x;
protected A(int x){
this.x = x;
}
public static A createA(id a, int x){
switch(a){
case 0:
return new C(x);
break;
//so on
}
public int getX(){
return x;
}
}
谢谢..
最佳答案
这取决于类(class)
如果这些属性是 A 的属性,那么是的, 如果只是碰巧它们具有相同的属性,那么就不会。
基本上,您需要问自己的问题是,是否会有一个扩展 A 的类不需要这些属性。
如果答案是否定的,则将它们放在 A 上,
如果答案是肯定的,请将它们保留在子类中, 或者在这两个子类之间创建另一个具有这两个属性的抽象类。
关于java - 2 个子类中有相同的 getter 和 setter..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14959088/