【发布时间】:2011-08-13 03:35:53
【问题描述】:
Sub2的目的是及时保存Sub1属性的快照。
例如:
subService.update(sub1);
Sub2 sub2 = new Sub2(sub1);
subService.save(sub2);
以下实现的问题在于每当向 Sub1 添加新成员变量时,程序员必须记住更改 Sub2 中的复制构造函数以将新成员从 Sub1 复制到 Sub2。
Sub2复制构造函数如何自动从Sub1复制新的成员变量?
Sub1 & Sub2 的基类:
public class Base{
protected String a;
protected String b;
protected String c;
// ...
protected String z;
}
子 1:
public class Sub1 extends Base {
public Sub1(
String a,
String b,
String c,
// ...
String z){
this.a = a;
this.b = b;
this.c = c;
// ...
this.z = z;
}
}
子 2:
public class Sub2 extends Base {
public Sub2(Sub1 s1){
this.a = s1.getA();
this.b = s1.getB();
this.c = s1.getC();
// ...
this.z = s1.getZ();
}
}
【问题讨论】:
-
你能在 Java 中为类添加新的成员变量吗?我不知道。
-
不是动态的。我相信他的意思是当班级被修改时。
标签: java oop inheritance