Instanzvariable gegenüber lokaler Variable
Eine Instanzvariable ist eine Art von Variable, die in der objektorientierten Programmierung vorhanden ist. Es ist eine Variable, die in einer Klasse definiert ist, und jedes Objekt dieser Klasse enthält eine separate Kopie dieser Variablen. Andererseits ist die Verwendung lokaler Variablen nicht auf objektorientierte Programmiersprachen beschränkt. Es ist eine Variable, die nur innerhalb eines bestimmten Codeblocks bewertet werden kann (e.G. Funktion, Schleifenblock usw.) in dem es definiert ist. Aus diesem Grund sollen lokale Variablen einen lokalen Bereich haben.
Was ist eine Instanzvariable?
Instanzvariablen werden in der objektorientierten Programmierung zum Speichern des Status jedes Objekts in einer Klasse verwendet. Sie sind auch als Mitgliedsvariablen oder Feldvariablen bekannt. Instanzvariablen werden ohne Verwendung des statischen Schlüsselworts in Java deklariert. Die in Instanzvariablen gespeicherten Werte sind für jedes Objekt eindeutig (jedes Objekt hat eine separate Kopie), und die darin gespeicherten Werte repräsentieren den Status dieses Objekts. Der Raum für eine Instanzvariable wird im Haufen zugewiesen, wenn dieses Objekt im Haufen zugewiesen wird. Daher werden Instanzvariablen im Gedächtnis gehalten, solange das Objekt live ist. Zum Beispiel ist die Farbe eines Autos unabhängig von der Farbe eines anderen Autos. Daher kann die Farbe eines Autoobjekts in einer Instanzvariablen gespeichert werden. In der Praxis werden Instanzvariablen innerhalb des Unterrichts und außerhalb der Methoden deklariert. In der Regel werden Instanzvariablen als privat erklärt, sodass sie nur innerhalb der Klasse zugegriffen werden können, sie wird deklariert.
Was ist eine lokale Variable?
Lokale Variablen sind Variablen mit einem lokalen Bereich und werden in einem bestimmten Codeblock deklariert. Lokale Variablen können als Variablen angesehen werden, die mit einer Methode verwendet werden, um seinen temporären Zustand zu speichern. Der Umfang einer lokalen Variablen wird anhand des Ortes, an dem die Variable deklariert wird, bestimmt, und für diesen Zweck werden spezielle Schlüsselwörter nicht verwendet. In der Regel ist der Zugriff auf eine lokale Variable innerhalb des deklarierten Codeblocks begrenzt (i.e. Zwischen den Öffnungs- und Schließklammern dieses Codeblocks). Lokale Variablen werden normalerweise im Anrufstapel gespeichert. Dies würde es ermöglichen, rekursive Funktionsaufrufe zu erhalten, um ihre eigenen Kopien der lokalen Variablen aufrechtzuerhalten, die in separaten Speicheradressenspaces gespeichert werden können. Wenn die Methode ihre Ausführung beendet.
Was ist der Unterschied zwischen Instanzvariablen und lokaler Variable?
Instanzvariablen werden innerhalb von Klassen außerhalb der Methoden deklariert und speichern den Zustand eines Objekts, während lokale Variablen innerhalb von Codeblöcken deklariert werden und zur Speicherung des Zustands einer Methode verwendet werden. Eine Instanzvariable ist so lange wie das Objekt, das diese Variable live ist, während eine lokale Variable während der Ausführung dieser Methode/ des Codeblocks live live ist. Eine Instanzvariable (auf die öffentlich erklärt wird) kann innerhalb der Klasse zugegriffen werden, während auf eine lokale Variable nur innerhalb des Codeblocks zugegriffen werden kann, den sie deklariert wird. Die Verwendung von Instanzvariablen ist nur auf objektorientierte Programmierung beschränkt, während lokale Variablen keine solche Einschränkung haben.