Enkapsulacija u Javi

Enkapsulacija u Javi

Enkapsulacija znači kombiniranje podataka i funkcija koje rade na tim podacima u jednu jedinicu poput klase. U Objektno orijentirano programiranje pomaže da stvari budu organizirane i sigurne.

  • Klasa može sakriti implementacijski dio i otkriti samo funkcionalnosti koje zahtijevaju druge klase. Stavljanjem podataka klase i metoda u privatne prikaze ili implementacije kasnije se mogu promijeniti bez utjecaja na kodove koji koriste ovu klasu.
  • Pomaže u boljem održavanju, čitljivosti i upotrebljivosti. Također pomaže u održavanju integriteta podataka dopuštajući provjeru valjanosti i kontrolu nad vrijednostima dodijeljenim varijablama.
EnkapsulacijaEnkapsulacija

Implementacija enkapsulacije u Javi

  • Proglasi podatke privatnim: Sakrijte podatke razreda tako da im se ne može pristupiti izravno izvan razreda.
  • Koristite getere i postavljače: Držite varijable privatnima i osigurajte javne getter i setter metode za kontrolirani pristup i sigurnu modifikaciju često uz provjeru valjanosti.
  • Primijenite odgovarajuće modifikatore pristupa: Koristite privatno za skrivanje podataka i javno za metode koje omogućuju pristup.
Java
   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  ());      }   }   

Izlaz
Name=> Geek  

Obrazloženje: U gornjem primjeru koristimo enkapsulaciju i getter ( getName) i postavljač ( setName) metoda koja se koristi za prikaz i izmjenu privatnih podataka. Ovaj mehanizam enkapsulacije štiti unutarnje stanje objekta Programmer i omogućuje bolju kontrolu i fleksibilnost u načinu na koji se atributu imena pristupa i mijenja.

Prednosti enkapsulacije

Prednosti enkapsulacije navedene su u nastavku:

  • Skrivanje podataka: Enkapsulacija ograničava izravan pristup varijablama klase štiteći osjetljive podatke od neovlaštenog pristupa.
  • Poboljšana održivost: Promjene unutarnje implementacije mogu se napraviti bez utjecaja na vanjski kod koji koristi klasu.
  • Poboljšana sigurnost: Enkapsulacija omogućuje provjeru valjanosti i kontrolu nad podacima sprječavajući postavljanje nevaljanih ili štetnih vrijednosti.
  • Mogućnost ponovne upotrebe koda: Enkapsulirane klase mogu se ponovno koristiti u različitim programima bez izlaganja unutarnje logike.
  • Bolja modularnost: Enkapsulacija promiče organizirani modularni kod držeći podatke i metode zajedno unutar klase.

Nedostaci enkapsulacije

Nedostaci enkapsulacije navedeni su u nastavku:

  • Povećana složenost koda: Pisanje getter i setter metoda za svaku varijablu može učiniti kod duljim i malo složenijim.
  • Dodatni troškovi izvedbe: Pristup podacima putem metoda umjesto izravnog može dovesti do manjeg troška performansi, posebno u aplikacijama kritičnim za performanse.
  • Manja fleksibilnost u nekim slučajevima: Pretjerano ograničavanje pristupa članovima klase može ograničiti sposobnost drugih klasa da prošire ili učinkovito koriste klasu.
Napravi kviz