Java Reference
In-Depth Information
13.5.2 Variablendefinition als Definition
Wird eine Variable im Definitionsteil 4 eines Hamster-Programms definiert, dann gilt folgende Ver-
einbarung: Der Gültigkeitsbereich einer im Definitionsteil definierten Variablen - auch globale Va-
riable genannt - umfasst das gesamte Hamster-Programm, mit Ausnahme des Initialisierungsaus-
druck der Variablen selbst sowie der Initialisierungsausdrücke von anderen globalen Variablen, die
vorher definiert werden. Im gesamten Programm dürfen nicht mehrere globale Variablen mit demsel-
ben Namen definiert werden. Es ist jedoch erlaubt, lokale Variablen mit dem Namen einer globalen
Variablen zu versehen.
Im folgenden Beispiel wird eine globale Variable gerade definiert. Auf diese eine Variable greifen
sowohl die Prozedur main als auch die Prozedur sammle zu:
// Definition einer globalen Variablen
boolean gerade = true;
void main() {
sammle();
while (vornFrei()) {
vor();
sammle();
}
if (gerade) {
// Zugriff auf die globale Variable
linksUm();
}
}
void sammle() {
while (kornDa()) {
nimm();
gerade = !gerade;
// Zugriff auf die globale Variable
}
}
Insbesondere ist es definitionsgemäß auch möglich, globale Variablen zu benutzen, ohne sie vorher
definiert zu haben. Folgendes Programm ist vollkommen korrekt:
void main() {
sammle();
while (vornFrei()) {
vor();
sammle();
}
if (gerade) {
// Zugriff auf die erst weiter unten
// definierte globale Variable
linksUm();
}
}
void sammle() {
4 also neben den Prozeduren und booleschen Funktionen
 
Search WWH ::




Custom Search