Sobes.tech
Junior

Welke methoden voor het kopiëren van objecten kent u?

sobes.tech AI

Antwoord van AI

Oppervlakkige en diepe kopie.

Een oppervlakkige kopie (Shallow Copy) maakt een nieuw object, maar de verwijzingen naar de geneste objecten blijven hetzelfde. Wijzigingen in de geneste objecten van het originele object worden ook weerspiegeld in de kopie, en vice versa.

Een diepe kopie (Deep Copy) maakt een volledig onafhankelijke kopie van het object, inclusief de kopie van alle geneste objecten. Wijzigingen in de geneste objecten van het origineel beïnvloeden de kopie niet.

Voorbeelden van implementatie (Python):

# Oppervlakkige kopie
import copy

original_list = [1, 2, [3, 4]]
shallow_copy_list = copy.copy(original_list)

# Wijziging van een genest object in het origineel beïnvloedt de kopie
original_list[2][0] = 99
# shallow_copy_list is nu [1, 2, [99, 4]]
# Diepe kopie
import copy

original_list = [1, 2, [3, 4]]
deep_copy_list = copy.deepcopy(original_list)

# Wijziging van een genest object in het origineel beïnvloedt de kopie niet
original_list[2][0] = 99
# deep_copy_list blijft [1, 2, [3, 4]]

De keuze van de methode hangt af van de structuur van het object en de taak. Voor eenvoudige objecten zonder geneste verwijzingen is een oppervlakkige kopie voldoende. Voor complexe objecten of wanneer volledige onafhankelijkheid van de kopie vereist is, wordt een diepe kopie gebruikt.