Junior — Middle
104
Puoi spiegare cosa si intende per creare una copia completa di un oggetto in programmazione?
Risposta dell'AI
sobes.tech AI
Создание полной копии объекта (deep copy) означает создание нового объекта, который является точной копией исходного, включая все вложенные объекты и структуры данных. В отличие от поверхностного копирования (shallow copy), которое копирует только ссылки на вложенные объекты, глубокое копирование создает новые экземпляры всех вложенных объектов.
Это важно, когда нужно избежать нежелательных изменений в исходном объекте при изменении копии, особенно если объект содержит изменяемые поля или коллекции.
Пример глубокого копирования в Java:
class Person implements Cloneable {
String name;
Address address; // Address - отдельный класс
@Override
protected Object clone() throws CloneNotSupportedException {
Person cloned = (Person) super.clone();
cloned.address = (Address) address.clone(); // глубокое копирование вложенного объекта
return cloned;
}
}
Здесь метод clone создает новый объект Person и новый объект Address, чтобы изменения в копии не влияли на оригинал.