这有效:
class ABean implements A {
protected String field1;
...
protected String fieldn;
public String getField1() {
return field1;
}
...
}
class BBean extends ABean {
public BBean(A a) {
super();
this.field1=a.getField1();
...
this.fieldn=a.getFieldn();
}
}
但是编写这个构造函数B(A a)
很麻烦,不是很实用,而且容易出错,因为如果我A
在A
.
我想我可以为 ABean 实现克隆,但这会有类似的问题(因为当我添加/删除字段时需要更新克隆实现)并且这也不允许我有一个BBean(A a)
构造函数;只有一个BBean(ABean a)
构造函数,除非我也制作clone()
了接口的一部分。
那么......有没有更清洁,更好的实施方式BBean(A a)
?