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 aufweist. 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 verwendet. Jede Variable ist dem Objekt zugeordnet, das es zusammenfasst. Der vollständige Name der Variablen "bla", die dem Objekt A zugeordnet ist, lautet "A.blah", während der vollständige Name der mit Objekt B zugeordneten Variablen "bla" "B.blah" ist. Jeder, 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 "bla", die es haben kannEin einzigartiger Wert. Im Gegensatz zu Instanzvariablen, von denen jedes Objekt eines bestimmten Typs eine eigene eigene, haben statische Variablen nur einen Wert, und dieser Wert ist für jedes Objekt des entsprechenden Typs gleich. Statische Variablen werden oft als Klassenvariablen bezeichnet, die nicht mit Instanzvariablen übereinstimmen.
Abhängig von den ihnen zugewiesenen Sichtbarkeitseigenschaften können Instanzvariablen nur in einem bestimmten Objekt, einem Objekt und seinen Unterklassen oder zu dem Objekt, in dem es sich befindet, ebenso wie alle anderen Objekte sichtbar sein. Diese endgültige Art der Sichtbarkeit, die als öffentliche Sichtbarkeit bezeichnet wird, wird häufig als schlechte Praxis angesehen, beispielsweise Variablen, da es einfach ist, die Kapselungsprinzipien in der objektorientierten Programmierung zu verletzen. Trotz dieses Tabus gibt es Zeiten, in denen öffentlich InstaNCE -Variablen sind nützlich. Zum Beispiel haben viele Standardklassen in Java öffentliche Instanzvariablen, was manchmal eine einfache Änderung der Eigenschaften ermöglicht.
Die Sichtbarkeit einer Instanzvariablen kommt auch mit Vererbung ins Spiel. Wenn eine Klasse eine andere erbt, erhält dies nicht sofort zu den Instanzvariablen des anderen zu den Klassen. 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.