私はこの状況を持っています
class Parent {
int data;
public Parent(int data) {
this.data = data;
}
}
class Child extends Parent {
int childData;
public Child(int data, int childData) {
super(data);
this.childData = childData;
}
}
そして手元に のインスタンスがありますParent。そこに機能を追加したいchildData。私は最近、これが些細なことである Javascript でプログラミングを行っており、Java ではこれが自明ではないことに気付かずに、精神的に設計パターンを移植しました。
クラスコードを完全に制御できると仮定するとChild、これを行うためのベストプラクティスは何ですか? クローニングせずにこれを行うことはできますか? Parentこれを機能させるには、クラスを変更する必要がありますか?
もちろん、最悪の場合 (これはひどく聞こえます)、次の解決策があります。
new Child(parent.data, childData);
Parentのデータはすべて公開されているためです。
特定の問題(Javaの質問に含めるのを忘れがちです)は、Config.testUserユーザーを返すメソッドがあり、それに1つのデータを追加して、タイプのデータが追加されたInitialScanUserにしたいことです。 に依存できないパッケージに住んでいます。UserinitialScanAlgorithmInitialScanAlgorithmConfig.testUserInitialScanAlgorithm