Енкапсулација у Јави

Енкапсулација у Јави

Енкапсулација значи комбиновање података и функција које раде на тим подацима у једну целину као што је класа. Ин Објектно оријентисано програмирање помаже да ствари буду организоване и безбедне.

  • Класа може сакрити имплементациони део и открива само функционалности које захтевају друге класе. Прављењем података и метода класе приватне репрезентације или имплементације могу се касније променити без утицаја на кодове који користе ову класу.
  • Помаже у бољем одржавању, читљивости и употребљивости. Такође помаже у одржавању интегритета података омогућавајући валидацију и контролу над вредностима додељеним променљивим.
ЕнкапсулацијаЕнкапсулација

Имплементација инкапсулације у Јави

  • Објави податке као приватне: Сакријте податке о класи тако да им се не може приступити директно изван класе.
  • Користите геттере и сетере: Држите променљиве приватним и обезбедите јавне методе преузимања и постављања за контролисан приступ и безбедну модификацију често уз валидацију.
  • Примените одговарајуће модификаторе приступа: Користите приватно за скривање података и јавно за методе које обезбеђују приступ.
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  ());      }   }   

Излаз
Name=> Geek  

Објашњење: У горњем примеру користимо енкапсулацију и користимо геттер ( гетНаме) и сетер ( сетНаме) метод који се користи за приказивање и модификовање приватних података. Овај механизам енкапсулације штити унутрашње стање објекта Программер и омогућава бољу контролу и флексибилност у начину приступа и модификације атрибута наме.

Предности инкапсулације

Предности инкапсулације су наведене у наставку:

  • Скривање података: Енкапсулација ограничава директан приступ варијаблама класе штитећи осетљиве податке од неовлашћеног приступа.
  • Побољшана могућност одржавања: Промене интерне имплементације се могу направити без утицаја на спољашњи код који користи класу.
  • Побољшана безбедност: Енкапсулација омогућава проверу ваљаности и контролу података спречавајући постављање неважећих или штетних вредности.
  • Поновна употреба кода: Енкапсулиране класе могу се поново користити у различитим програмима без излагања интерне логике.
  • Боља модуларност: Енкапсулација промовише организовани модуларни код држећи податке и методе заједно у оквиру класе.

Недостаци инкапсулације

Недостаци инкапсулације су наведени у наставку:

  • Повећана сложеност кода: Писање геттер и сеттер метода за сваку променљиву може учинити код дужим и мало сложенијим.
  • Режим перформанси: Приступ подацима путем метода уместо директно може довести до мањег трошка перформанси, посебно у апликацијама које су критичне за перформансе.
  • Мања флексибилност у неким случајевима: Претерано ограничавање приступа члановима класе може ограничити способност других класа да прошире или ефикасно користе класу.
Креирај квиз