Kann die anzeigen()
Methode die Instanzvariablen des Objekts
(wie kontostand
) sehen?
Ja.
Anweisungen einer Methode (so wie anzeigen()
) können
die Instanzvariablen und die anderen Methoden des Objekts sehen. Aber sie können die Parametern (und lokalen Variablen) anderer Methoden nicht sehen.
Hier ist ein weiterer Blick auf die Konto
-Klasse:
class Konto { . . . . private int kontostand; . . . . void verarbeiteEinzahlung( int betrag ) { // Gültigkeitsbereich von betrag beginnt hier kontostand = kontostand + betrag ; } // Gültigkeitsbereich von betrag endet hier void verarbeiteAuszahlung( int betrag ) { // Gültigkeitsbereich von betrag beginnt hier int gebuehr; inkrementZaehler(); if ( kontostand < 100000 ) gebuehr = 15; else gebuehr = 0; kontostand = kontostand - betrag - gebuehr ; } // Gültigkeitsbereich von betrag endet hier }
Zwei Methoden verwenden den betrag
für
Zum Beispiel kann die Anweisung
kontostand = kontostand - betrag - gebuehr ;
in der zweiten Methode nur den formalen Parameter ihrer Methode sehen — der Gültigkeitsbereich des formalen Parameters der anderen Methode enthält diese Anweisung nicht.