Skip to main content

Was ist eine Instanzvariable?

Eine Instanzvariable ist ein Datenstück in objektorientierter Programmierung, das für jedes Objekt, in dem es sich befindet, einen einzigartigen Wert hat.Instanzvariablen können auch Instanzmitglieder, nicht statische Felder und Datenmitglieder genannt werden.Sie sind ein wichtiger Bestandteil der meisten Objekte und halten bestimmte Datenstücke, die das Objekt zur Berechnung verwendetHat eine Instanzvariable namens Blah, die beiden bla -Variablen sind unterschiedliche Entitäten.Jede Variable ist dem Objekt zugeordnet, das es zusammenfasst.Der vollständige Name der Variablen -Blah, die dem Objekt A zugeordnet ist, ist A.blah, während der vollständige Name der Variablen -Blah, die dem Objekt B zugeordnet ist, b.blah ist.Jede, wenn diese Variablen ihren eigenen Wert haben können.Wenn Objekte A und B vom gleichen Typ sind und ein anderes Objekt dieses Typs C erstellt wird, und Objekt C hat auch eine Instanzvariable Blah, die ihren eigenen eindeutigen Wert haben kann.Statische Variablen, aber die beiden sind signifikant unterschiedlich.Im Gegensatz zu Instanzvariablen, von denen jedes Objekt eines bestimmten Typs eine eigene statische Variablen hat, haben nur einen Wert, und dieser Wert ist für jedes Objekt des entsprechenden Typs gleich.Statische Variablen werden häufig als Klassenvariablen bezeichnet, die nicht mit den Instanzvariablen übereinstimmen.in dem es so gut wie alle anderen Objekte liegt.Diese endgültige Art der Sichtbarkeit, die als öffentliche Sichtbarkeit bezeichnet wird, wird häufig als schlechte Praxis angesehen, beispielsweise Variablen, da es leicht ist, die Kapselungsprinzipien in der objektorientierten Programmierung zu verletzen.Trotz dieses Tabus gibt es Zeiten, in denen öffentliche Instanzvariablen nützlich sind.Beispielsweise haben viele Standardklassen in Java öffentliche Instanzvariablen, was manchmal eine einfache Änderung der Eigenschaften ermöglicht.

Die Sichtbarkeit einer Instanzvariablen wird auch mit Vererbung ins Spiel.Wenn eine Klasse eine andere erbt, erhält dies nicht sofort beide Klassen Zugriff auf die Instanzvariablen.Private Instanzvariablen in Superklasse und Unterklasse bleiben nur auf diese Klassen beschränkt, sodass eine private Variable in der Unterklasse von der Superklasse nicht gesehen werden kann und umgekehrt.Die einzigen Instanzvariablen, die sowohl die Superklasse als auch die Unterklasse sehen können, sind geschützte Variablen in der Superklasse.