logo

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

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

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

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

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

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

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

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



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

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

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

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