Цель 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;
}
Sub1:
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;
}
}
Sub2:
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();
}
}