Innkapsling betyr å kombinere data og funksjonene som fungerer på disse dataene til en enkelt enhet som en klasse. I Objektorientert programmering det hjelper å holde ting organisert og sikkert.
- En klasse kan skjule implementeringsdelen og avslører bare funksjonaliteten som kreves av andre klasser. Ved å lage klassedata og metoder kan private representasjoner eller implementeringer senere endres uten å påvirke kodene som bruker denne klassen.
- Det hjelper til med bedre vedlikeholdbarhet lesbarhet og brukervennlighet. Det bidrar også til å opprettholde dataintegriteten ved å tillate validering og kontroll over verdiene som er tilordnet variabler.
InnkapslingImplementering av Encapsulation i Java
- Erklær data som private: Skjul klassedataene slik at de ikke kan nås direkte fra utenfor klassen.
- Bruk gettere og settere: Hold variabler private og gi offentlige getter- og settermetoder for kontrollert tilgang og sikker modifikasjon ofte med validering.
- Bruk riktige tilgangsmodifikatorer: Bruk privat for å skjule data og offentlig for metoder som gir tilgang.
class Programmer { private String name; // Getter method used to get the data public String getName() { return name; } // Setter method is used to set or modify the data public void setName(String name) { this.name = name; } } public class Geeks { public static void main(String[] args){ Programmer p = new Programmer(); p.setName('Geek'); System.out.println('Name=> ' + p.getName()); } }
Produksjon
Name=> Geek
Forklaring: I eksemplet ovenfor bruker vi innkapslingen og bruker getter ( getName) og setter ( settnavn) metode som brukes til å vise og endre de private dataene. Denne innkapslingsmekanismen beskytter den interne tilstanden til programmeringsobjektet og gir bedre kontroll og fleksibilitet i hvordan navneattributtet åpnes og endres.
Fordeler med innkapsling
Fordelene med innkapsling er listet opp nedenfor:
- Skjul data: Innkapsling begrenser direkte tilgang til klassevariabler som beskytter sensitive data mot uautorisert tilgang.
- Forbedret vedlikehold: Endringer i intern implementering kan gjøres uten å påvirke ekstern kode som bruker klassen.
- Forbedret sikkerhet: Innkapsling tillater validering og kontroll over data som forhindrer at ugyldige eller skadelige verdier settes.
- Gjenbrukbarhet av kode: Innkapslede klasser kan gjenbrukes i forskjellige programmer uten å avsløre intern logikk.
- Bedre modularitet: Innkapsling fremmer organisert modulær kode ved å holde data og metoder sammen i en klasse.
Ulemper med innkapsling
Ulempene med innkapsling er listet opp nedenfor:
- Økt kodekompleksitet: Å skrive getter- og settermetoder for hver variabel kan gjøre koden lengre og litt mer kompleks.
- Ytelsesoverhead: Å få tilgang til data gjennom metoder i stedet for direkte kan introdusere en mindre ytelseskostnad, spesielt i ytelseskritiske applikasjoner.
- Mindre fleksibilitet i noen tilfeller: Overbegrensning av tilgang til klassemedlemmer kan begrense muligheten for andre klasser til å utvide eller bruke klassen effektivt.