Video: Java svenska - 16 - Åtkomstmodifierare 2024
Objektorienterad programmering som Java är stor på att gömma detaljer. Programmerare som skriver en bit kod bör inte tinker med detaljerna i en annan programmerarens kod. Det handlar inte om säkerhet och sekretess. Det handlar om modularitet.
När du gömmer detaljer håller du invecklingarna inuti ett stycke kod från att vridas och brutits av ett annat kodstycke. Din kod kommer i fina, diskreta, hanterbara klumpar. Du behåller komplexiteten till ett minimum. Du gör färre misstag. Du sparar pengar. Du hjälper till att främja världsfred.
Du kan hitta många exempel på användningen av privata fält. När ett fält är förklarat privat är det gömt från alla yttre inblandningar. Denna gömning ökar modularitet, minimerar komplexitet och så vidare.
Annanstans är exempel på saker som deklareras offentliga. Precis som en allmän kändis, är ett fält som förklaras offentligt lämnat öppet. Massor av människor vet nog vilken typ av tandkräm som Elvis använde, och alla programmerare kan referera till ett offentligt fält, även ett fält som inte heter Elvis.
I Java heter orden offentlig och privat åtkomstmodifierare. Ingen tvekan om att du har sett fält och metoder utan åtkomstmodifierare i sina deklarationer. En metod eller ett fält av detta slag sägs ha standardåtkomst. Många exempel använder standardåtkomst utan att göra ett väsen om det. Det är okej ibland.
Och du kan ta reda på ännu en åtkomständringsmodifierare. Det är den skyddade åtkomstmodifieraren. I Java är standardåtkomsten för en medlem i en klass tillgång till hela paketet. En medlem som deklareras utan ordet offentlig, privat, eller skyddad framför den är tillgänglig i paketet där klassen är bosatt.
Namnen på paket, med alla prickar och underdelar, kan vara något vilseledande. När du till exempel skriver ett program som svarar på knapptryck, importerar du normalt klasser från två separata paket. På en rad kan du ha import java. AWT. *;. På en annan rad kan du ha import java. AWT. händelse. *;. Importerar alla klasser från java. awt paket importerar inte automatiskt klasser från java. AWT. evenemangspaket.