НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

C++ Підручник

C++ Головна C++ Інтро C++ Початок роботи C++ Синтаксис C++ Виведення C++ Коментарі C++ Змінні C++ Введення користувача C++ Типи даних C++ Оператори C++ Рядки C++ Математика C++ Булеві C++ Умови C++ Switch C++ Цикл While C++ Цикл For C++ Break/Continue C++ Масиви C++ Структури C++ Enums C++ Довідники C++ Вказівники

C++ Функції

C++ Функції C++ Параметри функції C++ Перевантаження функцій C++ Область застосування C++ Рекурсія

C++ Класи

C++ ООП C++ Класи/Об’єкти C++ Методи класу C++ Конструктори C++ Специфікатори доступу C++ Інкапсуляція C++ Успадкування C++ Поліморфізм C++ Файли C++ Винятки C++ Дата

C++ Як зробити

Скласти два числа Випадкові числа

C++ Довідник

C++ Довідник C++ Ключові слова C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++ Приклади

C++ Приклади C++ Компілятор C++ Вправи C++ Вікторина C++ Сертифікат

Мова програмування C++. Уроки W3Schools для початківців українською мовою

En Es De

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


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

Значення інкапсуляції полягає в тому, щоб переконатися, що «конфіденційні» дані приховані від користувачів. Щоб досягти цього, ви повинні вказати змінні/атрибути класу як private (до них не можна отримати доступ поза класом). Якщо ви хочете, щоб інші читали або змінювали значення приватного члена, ви можете надати загальнодоступні методи get та set.


Доступ до приватних членів

Щоб отримати доступ до privat атрибута, використовуйте загальнодоступні методи "get" і "set":

Приклад

#include <iostream>
using namespace std;

class Employee {
  private:
    // private атрибут
    int salary;

  public:
    // Сеттер
    void setSalary(int s) {
      salary = s;
    }
    // Геттер
    int getSalary() {
      return salary;
    }
};

int main() {
  Employee myObj;
  myObj.setSalary(50000);
  cout << myObj.getSalary();
  return 0;
}
Спробуйте самі »

Пояснення прикладу

Атрибут salary є privat, доступ до якого обмежено.

Загальнодоступний метод setSalary() приймає параметр (s) і призначає його атрибуту salary (salary = s).

Загальнодоступний метод getSalary() повертає значення приватного атрибута salary.

Усередині main() ми створюємо об’єкт класу Employee. Тепер ми можемо використовувати метод setSalary(), щоб встановити значення privat атрибута на 50000. Потім ми викликаємо метод getSalary() для об’єкта, щоб повернути значення.


Чому саме інкапсуляція?

  • Вважається гарною практикою оголошувати атрибути класу як приватні (privat) як можна частіше. Інкапсуляція забезпечує кращий контроль над вашими даними, оскільки ви (чи інші) можете змінити одну частину коду, не впливаючи на інші частини
  • Підвищена безпека даних


Коментарі