Kursinnhold
Java OOP
Java OOP
OOP-prinsipper: Innkapsling
Innkapsling
Et annet grunnleggende prinsipp i objektorientert programmering (OOP). Sannsynligvis det mest avgjørende prinsippet, ettersom hele OOP-paradigmet bygger på dette. Du har allerede støtt på dette prinsippet i denne delen når du angir felt og metoder som private
eller public
. Nå skal vi imidlertid gå nærmere inn på dette prinsippet.
Merk
Vennligst ikke forveksle ordet 'interface' (en mal for opprettelse, et mønster) med Interface som vi skal studere i neste del!
Tilgangsmodifikatorer
Tilgangsmodifikatorer er en integrert del av innkapsling, så selv om vi har diskutert dem tidligere, må vi repetere dette stoffet. Nedenfor finner du definisjonen av tilgangsmodifikatorer sammen med en tabell og en kort beskrivelse:
public
: Medlemmer medpublic
tilgangsmodifikator er tilgjengelige fra hvor som helst i koden. De har det bredeste omfanget. For eksempel kan enpublic
metode kalles fra hvilken som helst klasse;private
: Medlemmer medprivate
tilgangsmodifikator er kun tilgjengelige innenfor klassen der de er deklarert. De er ikke synlige for eksterne klasser. Dette gir sterk innkapsling;protected
: Medlemmer medprotected
tilgangsmodifikator er tilgjengelige innenfor samme pakke og av underklasser, selv om de er i forskjellige pakker. Dette tillater kontrollert deling av informasjon;default (pakke-privat): Hvis ingen tilgangsmodifikator er spesifisert, er medlemmet kun tilgjengelig innenfor samme pakke. Dette er standard tilgangsnivå.
La oss se hvordan tilgangsmodifikatorer fungerer i praksis. Det finnes to klasser: én opprettet i samme pakke som main
-klassen, og en annen opprettet i en annen pakke. La oss se hvordan tilgangsmodifikatorene påvirker dette:
På skjermbildene kan du se hvor variabler med tilsvarende navn er tilgjengelige fra.
Jeg minner også om at hvis du ønsker å omgå tilgangsmodifikatorer, kan du lese om det her: lenke.
Merk
Det er også verdt å nevne at metoder også kan ha tilgangsmodifikatorer. De fungerer på samme måte som for felt. For eksempel vil en metode med privat tilgangsmodifikator kun være tilgjengelig i klassen der den ble opprettet.
Oppsummering
Innkapsling er svært nyttig når data må organiseres i avdelinger, noe som gjør koden svært strukturert. I tillegg kan du takket være innkapsling konfigurere hvor og hvordan dine felt og metoder kan nås.
1. Hva er innkapsling i Java?
2. Hvilken tilgangsmodifikator er den strengeste?
3. Hva er fordelene med innkapsling?
4. Hvilke av følgende påstander om innkapsling er sanne?
Takk for tilbakemeldingene dine!