Можно ли построить экземпляр производного класса из экземпляра базового класса, используя lombok? - PullRequest
0 голосов
/ 08 мая 2018

Используя lombok, мне интересно скопировать все поля из экземпляра базового класса в производный класс через его конструктор, очень похожий на то, что делает конструктор копирования C ++. В настоящее время проблема заключается не столько в глубине или глубине копии. У меня есть базовый класс, как показано ниже,

class Parent {
  .... fields
}

и мне интересно автоматически сгенерировать конструктор производного класса, который берет экземпляр базового класса и копирует (либо мелкие, либо глубокие) все поля в производное. например,

class Child extends Parent {
   ... derived fields
   Child(Parent p) { // can be implemented as super(p); 
   }
}

У меня есть возможность комментировать класс Parent и Child по мере необходимости, однако я не хочу вручную конструировать конструктор, который копирует каждое поле одно за другим. Пример использования

Parent parent = Parent.of(....);
Child child = new Child(parent);

1 Ответ

0 голосов
/ 08 мая 2018

Похоже, что функциональность для конструктора копирования еще не существует ( github Issue )

А также невозможно генерировать конструкторы, вызывающие super (указано здесь и github issue ), потому что:

Добиться до родительского класса необходимого разрешения просто невозможно.

Так что, исходя из этого, я думаю, что это невозможно сделать, в настоящее время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...