Innkapsling i Java | Forklart

Innkapsling i Java | Forklart
Innkapsling er et av de mest betydningsfulle konseptene for objektorientert programmering som gir sikkerhet ved å skjule de sensitive dataene/implementeringsdetaljene til klassen fra brukerne. I Java kan innkapsling oppnås ved å erklære klasseattributtene/variablene som privat. I visse tilfeller må vi få tilgang til eller endre de private variablene, så i et slikt scenario kan vi bruke offentlig få og sett metoder.

Denne oppskrivningen gir en grundig oversikt over innkapsling i følgende aspekter:

  • Hva er innkapsling i Java
  • Få og angi metoder i java
  • Grunnleggende syntaks for Get and Set in Java
  • Implementering av innkapsling i Java

Så la oss starte!

Innkapsling i Java

La oss vurdere et eksempel på en kapsel For å forstå det grunnleggende konseptet med innkapsling i Java. Når vi ser på en kapsel, har vi ingen anelse om hva som er inne i kapselen jeg.e. ingrediensene er skjult for oss. På samme måte opptrer innkapsling i Java I.e. Det lar oss skjule attributtene til en klasse fra de andre klassene.

For å jobbe med innkapsling i Java, må vi erklære klasseattributtene som privat Og attributtene til en klasse ville ikke være synlige eller tilgjengelige for de andre klassene.

Implementering av innkapsling i Java

De undergitte eksemplene vil gi en detaljert forståelse av innkapsling i Java.

Eksempel

La oss vurdere følgende kode, det har noen begrensede klasseattributter, og vi vil prøve å få tilgang til dem fra en annen klasse:

pakke javaencapsulation;
offentlige klasseansatte
privat int -ansattid;
privat streng EmployeeName;

klasse javaencapsulation
public static void main (String [] args)
Ansatt EMP = ny ansatt ();
emp.AnsattId = 1;
emp.EmployeTeName = "Micheal";

Skjermbildet til koden er gitt nedenfor:

Fra ovennevnte utdrag er det tydelig at vi ikke får tilgang til de begrensede klasseattributtene til Ansatt klasse.

La oss løse dette problemet, for å gjøre det, må vi bruke Get and Set -metodene for hvert attributt.

Få og angi metoder i java

Som navnet i seg selv antyder, kan setter/sett -metoden brukes til å angi verdiene til variabler mens getter/get -metoden brukes til å få variabelenes verdi. For å få tilgang til de private attributtene til en klasse fra en annen klasse må vi sette typen getter og setter som offentlig for alle attributter i klassen.

Syntaksen til Get and Set-metoden vises i det undergitte diagrammet:

I ovennevnte utdrag bruker settermetoden "dette" nøkkelord som refererer til det nåværende objektet. La oss se på et eksempel for å ha en klar forståelse av hvordan getter og settermetoder fungerer.

Eksempel

Vi har laget to forskjellige Java -filer som inkluderer to klasser.

Ansatt.Java

Vi opprettet en Ansatt klasse og spesifisere klasseattributter som privat og for å gi tilgang til utenforstående klasser vi lager og sett Metoder for hver private variabler:

Pakkeansatt;
offentlige klasseansatte
privat int -ansattid;
privat streng EmployeeName;
public void Setid (int ID)

dette.AnsattId = ID;

public void setName (strengnavn)

dette.EmployeTeName = Navn;

offentlig int getid ()

return (ansatt);

public String getName ()

return (EmployeeName);

Hoved.Java

Vi lager en annen klasse Hoved Fra hvor vi vil prøve å få tilgang til attributter til ansatteklasse:

Pakkeansatt;
offentlig klasse Main
public static void main (String [] args)
Ansatt EMP = ny ansatt ();
emp.Setid (1);
emp.setName ("Micheal");
System.ute.Println (emp.getid ());
System.ute.Println (emp.getName ());

Følgende vil være utgangen:

Fra utgangen er det klart at bruk av getter og setter -metoder, vi får tilgang til de private attributtene til Ansatt klasse fra Hoved klasse.

Konklusjon

I Java gir innkapsling sikkerhet ved å skjule sensitive data inkludert klasseattributter og medlemsfunksjoner fra andre klasser. For å oppnå innkapsling i Java, må vi spesifisere klasseattributtene som private og for å få tilgang til eller endre disse private variablene fra en annen klasse, vi kan bruke getters og settere som offentlige for hver av klassen private variabler/attributter. Denne artikkelen presenterer en omfattende guide for hva som er innkapsling og hvordan du oppnår innkapsling i Java.