Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Ключові Слова Модифікаторів Доступу | Огляд Інкапсуляції
C++ ООП
course content

Зміст курсу

C++ ООП

C++ ООП

1. Основи ООП у C++
2. Конструктори та Деструктори
3. Огляд Інкапсуляції
4. Огляд Наслідування
5. Огляд Поліморфізму

book
Ключові Слова Модифікаторів Доступу

Інкапсуляція у C++ досягається головним чином за допомогою модифікаторів доступу. Ці модифікатори визначають рівень доступу інших частин програми до членів (як даних, так і функцій) класу. Основними трьома модифікаторами доступу є:

  • private: доступні лише в межах того ж класу та приховані від зовнішнього доступу. Це рівень доступу за замовчуванням для членів класу;

  • protected: доступні в межах класу та його похідних класів. Вони більш доступні, ніж private-члени, але все ще забезпечують певний рівень захисту даних;

  • public: доступні з будь-якої частини програми. Хоча public-члени не інкапсулюються, вони необхідні для визначення інтерфейсу, який клас надає зовнішнім об'єктам.

Note
Примітка

Модифікатор доступу діє до тих пір, поки не буде вказано інший.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Примітка

Спробуйте видалити або змінити ключове слово public і подивіться, що станеться.

Подібно до того, як водій може керувати автомобілем без розуміння його внутрішньої механіки, користувачам і програмістам не потрібно турбуватися про private атрибути та методи всередині класу. Дотримуйтеся таких правил:

  • Зберігайте члени даних як private або protected;

  • Надавайте public методи для доступу та зміни private даних;

  • Переконайтеся, що ці методи виконують лише те, для чого вони призначені, без розкриття внутрішньої логіки.

Добре інкапсульований class повинен відкривати лише необхідне для користувачів і приховувати свій внутрішній стан та деталі реалізації.

question mark

Що станеться, якщо спробувати отримати доступ до приватного члена класу безпосередньо ззовні класу?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

course content

Зміст курсу

C++ ООП

C++ ООП

1. Основи ООП у C++
2. Конструктори та Деструктори
3. Огляд Інкапсуляції
4. Огляд Наслідування
5. Огляд Поліморфізму

book
Ключові Слова Модифікаторів Доступу

Інкапсуляція у C++ досягається головним чином за допомогою модифікаторів доступу. Ці модифікатори визначають рівень доступу інших частин програми до членів (як даних, так і функцій) класу. Основними трьома модифікаторами доступу є:

  • private: доступні лише в межах того ж класу та приховані від зовнішнього доступу. Це рівень доступу за замовчуванням для членів класу;

  • protected: доступні в межах класу та його похідних класів. Вони більш доступні, ніж private-члени, але все ще забезпечують певний рівень захисту даних;

  • public: доступні з будь-якої частини програми. Хоча public-члени не інкапсулюються, вони необхідні для визначення інтерфейсу, який клас надає зовнішнім об'єктам.

Note
Примітка

Модифікатор доступу діє до тих пір, поки не буде вказано інший.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Примітка

Спробуйте видалити або змінити ключове слово public і подивіться, що станеться.

Подібно до того, як водій може керувати автомобілем без розуміння його внутрішньої механіки, користувачам і програмістам не потрібно турбуватися про private атрибути та методи всередині класу. Дотримуйтеся таких правил:

  • Зберігайте члени даних як private або protected;

  • Надавайте public методи для доступу та зміни private даних;

  • Переконайтеся, що ці методи виконують лише те, для чого вони призначені, без розкриття внутрішньої логіки.

Добре інкапсульований class повинен відкривати лише необхідне для користувачів і приховувати свій внутрішній стан та деталі реалізації.

question mark

Що станеться, якщо спробувати отримати доступ до приватного члена класу безпосередньо ззовні класу?

Select the correct answer

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

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

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

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