Unterschied zwischen Attributen und lokalen Variablen?

2 Antworten

Ein Attribut hat die umgebende Klasse (im Fall eines statischen Attributs) bzw. ein Objekt dieser (im Fall eines nicht statischen Attributs) als Gültigkeitsbereich.

Eine lokale Variable hat die sie umgebende Methode/Funktion als Gültigkeitsbereich.

Aber Vorsicht: Zumindest C und C++ kennen auch den Fall von statischen lokalen Variablen. Der Gültigkeitsbereich einer solchen Variable beschränkt sich zwar ebenfalls auf die umgebende Methode/Funktion, allerdings bleibt der ihr zugewiesene Wert zwischen mehreren Aufrufen der Methode/Funktion erhalten.

Außerdem gibt es noch den einen oder anderen weiteren Sonderfall, aber für die Kurzfassung reichen die ersten beiden Absätze.

Ein Attribut ist für alle Methoden der Klasse zugänglich, eine lokale Variable nur innerhalb der Methode.

Woher ich das weiß:Berufserfahrung – Langjährige Berufserfahrung
Lezurex  12.01.2022, 21:48
Ein Attribut ist für alle Methoden der Klasse zugänglich

Nur, wenn es sich um ein statisches Attribut handelt. Meist werden aber nicht-statische Attribute verwendet, dann handelt es sich nicht um die Klasse, sondern um die aktuelle Instanz.

0