Kursusindhold
Java OOP
Java OOP
OOP-Principper: Indkapsling
Indkapsling
Endnu et grundlæggende princip i Objektorienteret Programmering (OOP). Sandsynligvis det mest afgørende princip, da hele OOP-paradigmet bygger på det. Du er allerede stødt på dette princip i dette kapitel, når felter og metoder blev angivet som private
eller public
. Men nu vil vi gennemgå dette princip mere detaljeret.
Bemærk
Forveksl venligst ikke ordet 'interface' (en skabelon til oprettelse, et mønster) med det Interface, vi skal studere i næste afsnit!
Adgangsmodifikatorer
Adgangsmodifikatorer er en integreret del af indkapsling, så selvom vi allerede har gennemgået dem, skal vi genopfriske dette materiale. Nedenfor findes definitionen af adgangsmodifikatorer sammen med en tabel og en kort beskrivelse:
public
: Medlemmer medpublic
adgangsmodifikator er tilgængelige overalt i koden. De har det bredeste anvendelsesområde. For eksempel kan enpublic
metode kaldes fra enhver klasse;private
: Medlemmer medprivate
adgangsmodifikator er kun tilgængelige inden for den klasse, hvor de er erklæret. De er ikke synlige for eksterne klasser. Dette giver stærk indkapsling;protected
: Medlemmer medprotected
adgangsmodifikator er tilgængelige inden for samme pakke og af underklasser, selvom de er i forskellige pakker. Dette muliggør kontrolleret deling af information;default (pakke-privat): Hvis der ikke er angivet nogen adgangsmodifikator, er medlemmet kun tilgængeligt inden for samme pakke. Det er standardniveauet for adgang.
Lad os se, hvordan adgangsmodifikatorer fungerer i praksis. Der er to klasser: én oprettet i samme pakke som main
-klassen, og en anden oprettet i en anden pakke. Lad os se, hvordan adgangsmodifikatorer påvirker dette:
På skærmbillederne kan du se, hvor variabler med tilsvarende navne er tilgængelige fra.
Jeg vil også minde dig om, at hvis du ønsker at omgå adgangsmodifikatorer, kan du læse om det her: link.
Bemærk
Det er også værd at nævne, at metoder også kan have adgangsmodifikatorer. De fungerer på samme måde som med felter. For eksempel vil en metode med en privat adgangsmodifikator kun være tilgængelig i den klasse, hvor den blev oprettet.
Resumé
Indkapsling er meget nyttig, når data skal organiseres i afdelinger, hvilket gør koden meget struktureret. Derudover kan du takket være indkapsling konfigurere, hvor og hvordan dine felter og metoder kan tilgås.
1. Hvad er indkapsling i Java?
2. Hvilken adgangsmodifier er den mest restriktive?
3. Hvad er fordelene ved indkapsling?
4. Hvilke af følgende udsagn om indkapsling er sande?
Tak for dine kommentarer!