Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Kapitel 8. Schnittstellen > Standardschnittstellen

8.2. Standardschnittstellen

8.2.1. Objekte kopieren: Schnittstelle ICloneable

Für das Kopieren von Objekten gibt es in der objektorientierten Programmierung zwei Strategien, sie firmieren unter der Bezeichnung flache Kopie (engl. shallow copy) und tiefe Kopie (engl. deep copy). Bei der flachen Kopie wird zunächst eine neue Instanz des zu kopierenden Objekts angelegt. Anschließend werden alle Instanzvariablen des Originalobjekts in das neue Objekt umkopiert. Handelt es sich um eine Variable der Ausprägung Werttyp (value type), wird der Wert bitweise kopiert. Im Falle einer Referenzvariablen (reference type) wird die Referenz kopiert (wenn Sie so wollen: ebenfalls bitweise), aber nicht das referenzierte Objekt.

Dies hat zur Folge, dass die Referenzvariablen im Originalobjekt und im kopierten Objekt auf dasselbe Objekt verweisen, eine in den meisten Fällen eher ungewollte Eigenschaft einer Objektkopie. Lassen Sie mich diesen Sachverhalt auf Grund seiner Bedeutung an einem Beispiel veranschaulichen: Die Klasse Rectangle aus Listing 8.5 besitzt zwei Instanzvariablen der Ausprägung Werttyp (width und height) und eine der Ausprägung Referenztyp (Variable location zur Beschreibung der linken oberen Ecke):


  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial