Was ist ein unveränderliches Objekt?

In objektorientierter Programmierung ist ein unveränderliches Objekt ein Objekt, dessen Eigenschaften nach seiner Erstellung nicht geändert werden können. Die meisten Objekte sind dagegen veränderliche Objekte, was bedeutet, dass einige oder alle Eigenschaften nach der Erstellung frei verändert werden können. Eine Vielzahl von Computersprachen kann unveränderliche Objekte erstellen, einschließlich Java, C ++, Erlang, TCL und Scala. Die Methodik zum Erstellen einer unveränderlichen Klasse variiert je nach verwendeter Computersprache. Unabhängig von der Sprache muss eine unveränderliche Klasse keine Methoden haben, die ihre internen Daten ändern können und keine Möglichkeit, dass die Methoden geändert werden - d. H. Überschreibt oder überlastet - auf eine Weise, die ihre internen Daten ändern würde. Dies ist der kompliziertere Ansatz. Um ein unveränderliches Objekt aus einem anderenWi zu erstellenSE Mutable Object hingegen kann man häufig ein Schlüsselwort anwenden, um das Objekt als unveränderlich zu bezeichnen.

Beispielsweise hängt eine unveränderliche Objekterstellung in Java stark vom "endgültigen" Schlüsselwort ab. Eine schnelle Möglichkeit, eine Klasse in Java unveränderlich zu machen, besteht darin, die Klasse sowie alle ihre Methoden und Datenmitglieder endgültig zu deklarieren. Eine ähnliche Strategie kann auch in C ++ mit dem Schlüsselwort "const" angewendet werden. Diese Ansätze, abhängig vom Klasseninhalt, sind jedoch möglicherweise nicht die besten. Im Allgemeinen können Objekte normalerweise durch sorgfältige Aufrechterhaltung ihrer internen Daten unveränderlich gemacht werden.

Ein unveränderliches Objekt mit einem Schlüsselwort, wie im obigen Beispiel, ist oft viel einfacher, als eine ganze Klasse zu schreiben, um unveränderlich zu sein. Die Verwendung dieses Ansatzes hat jedoch seine Gefahren. Wenn der Programmierer explizit ein unveränderliches Objekt auf diese Weise festlegt, ist es wichtig, dass alle geeigneten Eigenschaften sichergestellt werdenund Daten wurden zuerst in das Objekt aufgenommen. Wenn Sie sich auf ein unvollständiges Objekt verlassen, ist möglicherweise gefährlich, insbesondere wenn es eine wesentliche Information fehlt.

Wenn ein Objekt veränderlich ist, aber unveränderliche Daten ordnungsgemäß erstellt werden müssen, müssen die unveränderlichen Daten initialisiert werden, bevor das veränderliche Objekt erstellt werden kann. Unveränderliche Objekte sind immer unveränderlich, unabhängig davon, ob es sich um Datenwerte oder große Objekte handelt, und müssen immer als solche behandelt werden. Im Allgemeinen kann ein unveränderliches Objekt nach seiner Erstellung nicht veränderlich gemacht werden, obwohl sie manchmal als veränderliche Objekte kopiert werden könnten. Es kann normalerweise angenommen werden, dass ein unveränderliches Objekt und eine seiner Kopien ebenfalls unveränderlich sind, was Daten oder Speicherprobleme verhindern kann.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?