私はこの状況を持っています
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
にしたいことです。 に依存できないパッケージに住んでいます。User
initialScanAlgorithm
InitialScanAlgorithm
Config.testUser
InitialScanAlgorithm