Unterschied zwischen Attributen und lokalen Variablen?
Hi, was ist der Unterschied dazwischen? LG
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.
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.