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

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

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

Інкапсуляція також передбачає обмеження прямого доступу до деяких компонентів об'єкта, і саме тут використовуються методи доступу та зміни. Методи доступу та зміни, більш відомі як геттери та сеттери, — це public методи, які забезпечують контрольований доступ до private членів даних класу.

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

getter.h

getter.h

123456
class Example { public: int get_member() { return member; } private: int member; };

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

setter.h

setter.h

123456
class Example { public: void set_member(int value) { member = value; } private: int member; };

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

main.cpp

main.cpp

12345678910111213141516
#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
question mark

Яка альтернативна назва часто використовується для методів-мутаторів у програмуванні?

Виберіть правильну відповідь

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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