Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2025
Da jeres Java applikationer bliver mere komplekse, bliver behovet for at overveje omfanget stadig vigtigere. hovedårsagen er, at du ved et uheld kan introducere en fejl i din ansøgning ved ikke at overholde scopingreglerne.
Dette kan skyldes, at et felt eller et andet medlem bliver brugt forkert af ansøgningen (f.eks. tilføjelse af en forkert dataværdi eller adgang til en metode ved den forkerte tid eller med forkerte data). Desuden kan ukorrekt scoping lade døren stå åben for udenforstående at interagere med din ansøgning på uforudsete måder (som f.eks. en virus).
Standard omfanget opstår, når du ikke specifikt tildeler et anvendelsesområde til et klassement. Fordi mange Java-udviklere ikke har nogen idé om, hvad standardomfanget er for nogle elementer (og hvis du bruger et standardområde betyder det, at din kode ikke er dokumenteret) er ikke brugt meget ofte.
På samme måde har du brug for t o ved, hvad standardomfanget er for forskellige elementer, fordi nogle Java-udviklere stoler på det. Men før du kan forstå standardomfanget, skal du overveje synlighed - måleen for hvilke applikationselementer der kan se et medlem. Java giver følgende synlighedsniveauer (i almindelighed for indkapsling):
-
Pakke: Beholderen bruges til at holde en række klasser. Når du arbejder med en simpel katalogstruktur, som eksemplerne i denne bog gør, er pakken en mappe, der indeholder et antal. klassefiler.
-
Klasse: En klasse ligger normalt i en enkelt. java-fil, som du kompilerer til en. klasse fil. Den indeholder en enkelt klassedeklaration.
-
Metode: Et element kan opholde sig i klassen eller som en del af en metode. Metoden fungerer som en beholder til at holde elementet.
-
Blok: Et element kan opholde sig inden for en kodeblok, f.eks. En for-loop.
Omfanget afhænger delvist af den placering, der bruges til at erklære et element. Eksempelvis er en variabel, der er defineret inden for en blok (f.eks. En for loop) kun synlig inden for den pågældende blok. Når du forsøger at bruge variablen uden for blokken, viser Java en undtagelse. Under hensyntagen til synlighed beskriver denne tabel de forskellige anvendelsesniveauer i Java-miljøet.
Synlighed | privat | (standard) | beskyttet | offentligt |
---|---|---|---|---|
Tilgængelig fra klassen | X | X | X | X |
Tilgængelig fra pakken | X | X | X | |
Tilgængelig fra enhver børnelast | X | X | ||
Tilgængelig overalt | X |
Tabellen viser, hvordan standardomfanget passer ind i ordningen af ting. Hvis du for eksempel erklærer en metode ved at bruge standardomfanget, kan en hvilken som helst metode bruge den så længe den ligger i samme pakke.Hvis du også opretter en klasse, der arver fra klassen, der indeholder metoden, kan underklassen bruge metoden, så længe den ligger i samme pakke.
Men hvis underklassen eksisterer uden for den nuværende pakke, kan den ikke bruge metoden. Kort sagt er standardomfanget lidt mere restriktivt end det beskyttede anvendelsesområde, men mindre restriktive end det private anvendelsesområde.