Junior
Mis on ulatus (scope) programmeerimises?
sobes.tech AI
Vastus AI-lt
Vaadeldus määrab, kui kättesaadav on muutuja, meetodi või klassi teatud osa programmis. See kontrollib, kus saab kasutada nimetatud üksusi ja kus need lõpetavad olemasolu.
Java peamised vaadeldusvaldkonnad:
- Block (plokk): piiratud sulgudega
{}. Blokis deklareeritud muutujad on saadaval ainult selles plokis ja selle sees olevates plokkides. - Method (meetod): piiratud meetodi kehas. Meetodi parameetrid ja meetodi sees deklareeritud muutujad on saadaval ainult selles meetodis.
- Class (klass): piiratud klassi kehas. Klasisiseseid liikmeid (välju) ja meetodeid saab kasutada igast kohast klassis. Nende kättesaadavus väljaspool klassi sõltub juurdepääsukorraldustest (
public,private,protected,default). - Package (pakett): kehtib klassidele ja nende liikmetele (ilma juurdepääsukorralduseta). Saadaval igas samas paketis.
- Global (globaalne): Java-s ei ole tõelist globaalse vaadeldusala nagu C++-s. Kõige lähem on
public static finalväljad klassides, mis on kättesaadavad kogu programmis.
Bloki vaadeldusala näide:
// Muutuja 'j' ei ole nähtav väljaspool seda bloki
{
int j = 10;
System.out.println(j); // Saadaval
}
// System.out.println(j); // Kompileerimisviga: cannot find symbol
Meetodi vaadeldusala näide:
public void myMethod(int parameter) { // 'parameter' on nähtav ainult siin
int localVar = 5; // 'localVar' on nähtav ainult siin
System.out.println(parameter); // Saadaval
System.out.println(localVar); // Saadaval
}
// System.out.println(localVar); // Kompileerimisviga: cannot find symbol
Vaadeldusala aitab vältida nimede konflikte, hallata muutujate elutsüklit ja parandada koodi loetavust.