Kursinnehåll
Java OOP
Java OOP
OOP-principer: Inkapsling
Inkapsling
En annan grundläggande princip inom objektorienterad programmering (OOP). Förmodligen den mest avgörande principen eftersom hela OOP-paradigmet bygger på den. Du har redan stött på denna princip i detta kapitel när fält och metoder har betecknats som private
eller public
. Men nu kommer vi att diskutera denna princip mer ingående.
Observera
Blanda inte ihop ordet 'interface' (en mall för skapande, ett mönster) med Interface som vi kommer att studera i nästa avsnitt!
Åtkomstmodifierare
Åtkomstmodifierare är en integrerad del av inkapsling, så även om vi har diskuterat dem tidigare behöver vi repetera detta material. Nedan följer definitionen av åtkomstmodifierare tillsammans med en tabell och en kort beskrivning:
public
: Medlemmar medpublic
åtkomstmodifierare är tillgängliga från var som helst i koden. De har den bredaste räckvidden. Till exempel kan enpublic
metod anropas från vilken klass som helst;private
: Medlemmar medprivate
åtkomstmodifierare är endast tillgängliga inom den klass där de deklareras. De är inte synliga för externa klasser. Detta ger stark kapsling;protected
: Medlemmar medprotected
åtkomstmodifierare är tillgängliga inom samma paket och av subklasser, även om de är i olika paket. Detta möjliggör kontrollerad delning av information;default (paket-privat): Om ingen åtkomstmodifierare anges är medlemmen endast tillgänglig inom samma paket. Det är standardnivån för åtkomst.
Låt oss se hur åtkomstmodifierare fungerar i praktiken. Det finns två klasser: en skapad i samma paket som main
-klassen, och den andra skapad i ett annat paket. Låt oss se hur åtkomstmodifierare påverkar detta:
På skärmdumparna kan du se var variabler med motsvarande namn är tillgängliga ifrån.
Jag vill även påminna om att om du vill kringgå åtkomstmodifierare kan du läsa om det här: länk.
Notera
Det är också värt att nämna att metoder också kan ha åtkomstmodifierare. De fungerar på samma sätt som för fält. Till exempel kommer en metod med private åtkomstmodifierare endast att vara tillgänglig i den klass där den skapades.
Sammanfattning
Kapsling är mycket användbart när data behöver organiseras i avdelningar, vilket gör koden mycket strukturerad. Dessutom kan du tack vare kapsling konfigurera var och hur dina fält och metoder kan nås.
1. Vad är kapsling i Java?
2. Vilken åtkomstmodifierare är den striktaste?
3. Vilka är fördelarna med inkapsling?
4. Vilka av följande påståenden om inkapsling är sanna?
Tack för dina kommentarer!