У меня небольшая проблема в Java. У меня есть интерфейс под названием Modifiable. Объекты, реализующие этот интерфейс, могут быть изменены.
У меня также есть класс ModifyCommand (с шаблоном Command), который получает два изменяемых объекта (чтобы поменять их местами в списке далее - это не мой вопрос, я уже разработал это решение).
Класс ModifyCommand начинается с создания клонов объектов Modifiable. По логике вещей, мой модифицируемый интерфейс расширяет возможности Cloneable. Затем интерфейс определяет метод clone (), который его классы реализации должны переопределить.
Затем в ModifyCommand я могу сделать: firstModifiableObject.clone (). Моя логика заключается в том, что классы, реализующие Modifiable, должны будут переопределить метод clone из Object, поскольку они будут Cloneable (это то, что я хочу сделать).
Дело в том, что когда я определяю классы, реализующие Modifiable, и я хочу переопределить clone (), он не позволит мне, заявив, что метод clone () из класса Object скрывает метод от Modifiable.
Что мне делать? У меня сложилось впечатление, что «я делаю это неправильно» ...
Спасибо
Гийом.
Редактировать: думаю, я забуду о клоне (). Я либо а) предположу, что объект, переданный объекту Modifiable (реализующий интерфейс), уже клонирован, либо б) создам другой метод, например, copy (), который в основном сделал бы глубокое копирование объекта Modifiable ( или, может быть, универсальное решение будет работать ...).