Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Принципи ООП: Інкапсуляція | ООП
Java ООП

bookПринципи ООП: Інкапсуляція

Інкапсуляція

Ще один фундаментальний принцип об'єктно-орієнтованого програмування (ООП). Ймовірно, найважливіший принцип, оскільки вся парадигма ООП базується на ньому. Ви вже стикалися з цим принципом у цьому розділі під час позначення полів і методів як private або public. Але зараз ми розглянемо цей принцип детальніше.

Примітка

Будь ласка, не плутайте слово 'інтерфейс' (шаблон для створення, зразок) з Інтерфейсом, який ми будемо вивчати у наступному розділі!

Модифікатори доступу

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

  1. public: Члени з модифікатором доступу public доступні з будь-якого місця в коді. Вони мають найширшу область видимості. Наприклад, метод public може бути викликаний з будь-якого класу;

  2. private: Члени з модифікатором доступу private доступні лише в межах класу, де вони оголошені. Вони невидимі для зовнішніх класів. Це забезпечує сильну інкапсуляцію;

  3. protected: Члени з модифікатором доступу protected доступні в межах того ж пакету та для підкласів, навіть якщо вони знаходяться в інших пакетах. Це дозволяє контрольовано ділитися інформацією;

  4. default (package-private): Якщо модифікатор доступу не вказано, член доступний лише в межах того ж пакету. Це рівень доступу за замовчуванням.

Розглянемо, як модифікатори доступу працюють на практиці. Є два класи: один створений у тому ж пакеті, що й клас main, а інший — у іншому пакеті. Подивимось, як на це впливають модифікатори доступу:

На скріншотах видно, звідки доступні змінні з відповідними іменами.

Також нагадаю, що якщо ви хочете обійти модифікатори доступу, ви можете прочитати про це тут: посилання.

Примітка

Варто також зазначити, що методи також можуть мати модифікатори доступу. Вони працюють так само, як і для полів. Наприклад, метод із модифікатором доступу private буде доступний лише в тому класі, де він створений.

Підсумок

Інкапсуляція дуже корисна, коли дані потрібно організувати по відсіках, що робить код високоструктурованим. Крім того, завдяки інкапсуляції можна налаштовувати, де і як ваші поля та методи можуть бути доступні.

1. Що таке інкапсуляція в Java?

2. Який модифікатор доступу є найсуворішим?

3. Які переваги інкапсуляції?

4. Які з наступних тверджень про інкапсуляцію є правильними?

question mark

Що таке інкапсуляція в Java?

Select the correct answer

question mark

Який модифікатор доступу є найсуворішим?

Select the correct answer

question mark

Які переваги інкапсуляції?

Select the correct answer

question mark

Які з наступних тверджень про інкапсуляцію є правильними?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 4.76

bookПринципи ООП: Інкапсуляція

Свайпніть щоб показати меню

Інкапсуляція

Ще один фундаментальний принцип об'єктно-орієнтованого програмування (ООП). Ймовірно, найважливіший принцип, оскільки вся парадигма ООП базується на ньому. Ви вже стикалися з цим принципом у цьому розділі під час позначення полів і методів як private або public. Але зараз ми розглянемо цей принцип детальніше.

Примітка

Будь ласка, не плутайте слово 'інтерфейс' (шаблон для створення, зразок) з Інтерфейсом, який ми будемо вивчати у наступному розділі!

Модифікатори доступу

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

  1. public: Члени з модифікатором доступу public доступні з будь-якого місця в коді. Вони мають найширшу область видимості. Наприклад, метод public може бути викликаний з будь-якого класу;

  2. private: Члени з модифікатором доступу private доступні лише в межах класу, де вони оголошені. Вони невидимі для зовнішніх класів. Це забезпечує сильну інкапсуляцію;

  3. protected: Члени з модифікатором доступу protected доступні в межах того ж пакету та для підкласів, навіть якщо вони знаходяться в інших пакетах. Це дозволяє контрольовано ділитися інформацією;

  4. default (package-private): Якщо модифікатор доступу не вказано, член доступний лише в межах того ж пакету. Це рівень доступу за замовчуванням.

Розглянемо, як модифікатори доступу працюють на практиці. Є два класи: один створений у тому ж пакеті, що й клас main, а інший — у іншому пакеті. Подивимось, як на це впливають модифікатори доступу:

На скріншотах видно, звідки доступні змінні з відповідними іменами.

Також нагадаю, що якщо ви хочете обійти модифікатори доступу, ви можете прочитати про це тут: посилання.

Примітка

Варто також зазначити, що методи також можуть мати модифікатори доступу. Вони працюють так само, як і для полів. Наприклад, метод із модифікатором доступу private буде доступний лише в тому класі, де він створений.

Підсумок

Інкапсуляція дуже корисна, коли дані потрібно організувати по відсіках, що робить код високоструктурованим. Крім того, завдяки інкапсуляції можна налаштовувати, де і як ваші поля та методи можуть бути доступні.

1. Що таке інкапсуляція в Java?

2. Який модифікатор доступу є найсуворішим?

3. Які переваги інкапсуляції?

4. Які з наступних тверджень про інкапсуляцію є правильними?

question mark

Що таке інкапсуляція в Java?

Select the correct answer

question mark

Який модифікатор доступу є найсуворішим?

Select the correct answer

question mark

Які переваги інкапсуляції?

Select the correct answer

question mark

Які з наступних тверджень про інкапсуляцію є правильними?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6
some-alt