меня такая ситуация, когдаСделать экземпляр производного класса экземпляра данный базовый класс в Java
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
данных «s все общественности.
Конкретная проблема (которую я, как правило, забывают включить в Java вопросы), я есть Config.testUser
метод, который возвращает пользователю, и я хотел бы добавить одну точку привязки к нему, чтобы сделать его InitialScanUser
, который является User
с initialScanAlgorithm
исходная дата тип InitialScanAlgorithm
добавлен. Config.testUser
живет в пакет, который не может быть зависеть от InitialScanAlgorithm
.
Не могли бы вы объяснить * почему * вы хотите это сделать? Возможно, пример может иллюстрировать, что вам нужно использовать для этого? –
@ Code-Guru см. Редактирование – djechlin