Страницы

середу, 10 серпня 2016 р.

Інкапсуляція(Encapsulation) в Java.

Інкапсуляція є одним з чотирьох основних концепцій об'єктно-орієнтованого програмування. Інші три це наслідування, поліморфізм і абстракція.
Для досягнення инкапсуляцій в Java:
·    оголосіть змінні класу як приватні.
·  оголосіть публічні геттер і сеттер методи, щоб мати можливість змінювати і повертати значення змінних.
Інкапсульованні змінні класу будуть приховані від інших класів, і можуть бути доступні тільки через методи поточного класу, тому інкапсуляція також відома як приховування даних.
За допомогою модифікаторів доступу можна приховувати частини коду від користувача який буде використовувати ці дані. Мається на увазі що розробник сам вирішує, які класи, властивості, методи будуть відкриті класу-клієнту, а які будуть приховані.
Приклад:
Нижче наведений приклад, який демонструє, як досягти інкапсуляції в Java:
Публічні setXXX() і getXXX() методи є точками доступу до змінної екземпляра класу EncapTest.
Як правило, ці методи називають геттерами і сеттерами. Тому будь-який клас, який хоче отримати доступ до цих змінних повиннен отримувати доступ до них тільки через ці гет і сет методи. Доступ до змінних классу EncapTest можна отримати так як показано нижче:
результатом виконання цього коду буде:
Name : James Age : 20

Переваги Інкапсуляції:
·    Надійність даних. Можна запобігти зміні даних, виконавши у методі додаткову перевірку значення на допустимість. Тим самим можна гарантувати надійний стан об'єкта.
·    Цілісність посилань. Перед доступом до об'єкту, пов'язаного з даним об'єктом, можна впевнитися, що непряме поле містить коректне значення (посилання на екземпляр).
·    Передбачені побічні ефекти. Можна гарантувати, що кожен раз, коли виконується звернення до поля об'єкта, синхронно з ним виконується якась спеціальна дія.
·    Приховування інформації. Коли доступ до даних здійснюється тільки через методи, можна приховати деталі реалізації об'єкта. Пізніше, якщо реалізація зміниться, доведеться змінити лише реалізацію методів доступу до полів. Ті ж частини програми, які використовували цей клас, не будуть зазнавати змін.

В Java  існують чотири модифікатори доступу:

Немає коментарів:

Дописати коментар