Вступ до інкапсуляції в C ++

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

Як використовувати інкапсуляцію в C ++?

Для цього ми повинні дотримуватися наступних кроків:

  1. По-перше, нам потрібно зробити всі учасники даних приватними.
  2. Тоді публічні функції отримання та налаштування повинні бути створені для кожного члена даних таким чином, що функція get отримує значення члена даних, а функція set встановлює значення члена даних.

Інкапсуляція та приховування даних можна досягти в C ++, використовуючи визначені користувачем типи, які називаються Класи. Специфікатори доступу в класах можуть бути приватними, захищеними або загальнодоступними. За замовчуванням усі елементи в класі є приватними. Відповідно до потреби, ми можемо змінити рівні доступу. Три рівні специфікаторів доступу наведені нижче:

  • Приватний : члени одного класу можуть отримати доступ до даних.
  • Загальнодоступне : Усі класи можуть отримати доступ до даних.
  • Захищено : доступ до даних дозволений членам одного класу або похідних класів.

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

Щоб пояснити це, ми розглянемо нижчий клас.

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

Приклад інкапсуляції в C ++ з кроками

Нижче наведена покрокова інструкція щодо здійснення інкапсуляції.

1) Розглянемо сценарій, коли нам потрібно обчислити загальну оцінку студента шляхом обчислення суми за трьома предметами, тобто фізикою, хімією та біологією. Але умова така, що інший клас

2) Спочатку включіть iostream для функцій введення та виведення.

3) Використовуйте пробіл імен std

4) Напишіть клас для зберігання всіх даних та функцій. Нехай це буде Студент.

5) оголосити приватні змінні фізику, хімію та біологію. Це говорить про те, що ми не можемо отримати доступ до змінних за межами цього класу Student. Але ми можемо отримати доступ до них локально і змінити значення, якщо потрібно. Для того, щоб змінити значення, ми можемо написати функцію загального налаштування і отримати доступ до нього в іншому класі.

6) Напишіть функцію під назвою SetMarks, яка буде використовуватися для встановлення значень приватних змінних. Оскільки ми не можемо отримати доступ до приватних змінних фізики, хімії та біології поза класом студента, нам потрібна ця функція для встановлення цих значень із зовнішнього класу. Цей метод буде загальнодоступним, оскільки нам потрібно отримати доступ до нього поза класом. Нам потрібні три параметри, щоб отримати значення для кожного предмета. Всередині функції ми встановимо значення приватних змінних.

7) Нам потрібен ще один метод, щоб отримати загальну оцінку від усіх трьох предметів шляхом додавання оцінок. Цей метод також є загальнодоступним. Просто зателефонуйте цей метод поза класом, і ми отримаємо суму оцінок трьох предметів.

8) Тепер поза цим класом ми запишемо основну функцію.

9) Спочатку всередині основної функції ми отримаємо доступ до учня класу та створимо об’єкт класу.

10) На наступному кроці ми викличемо функцію встановлення позначок трьох предметів. Тут ми передамо функції як параметри функції. Нижче наведено фрагмент коду для досягнення цього.

11) Далі ми отримаємо загальні позначки та надрукуємо значення. І поверніть 0 в кінці.

12) Чи можете ви здогадатися про вихід коду? Ти правий. Результат показаний нижче.

Вихід: 240

13) Зараз ми проаналізуємо, як ми отримали цей вихід. Оскільки нам не вдалося отримати доступ до приватних змінних, ми написали функцію Setter, яка приймає значення з іншого класу та змінює змінні. Функція Getter вибирає змінні, додає їх і надсилає загальні оцінки учня. Кожен раз, коли ми передаємо три різні значення функції сеттера, ми можемо побачити, що загальна оцінка, яку ми отримаємо, також змінюватиметься відповідно.

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

Висновок

У цій статті ми дізналися про те, як можна досягти інкапсуляції за допомогою C ++. Цим ми можемо досягти наступних переваг.

  • Заняття після інкапсуляції підвищують читабельність та зменшують складність.
  • Це допомагає захистити дані.
  • Конфіденційність даних у класі може бути змінена без зміни цілого коду за допомогою модифікаторів доступу.

Рекомендовані статті

Це посібник з інкапсуляції в C ++. Тут ми обговорюємо, як використовувати інкапсуляцію в C ++ разом із Прикладом інкапсуляції в C ++ з кроками. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Алгоритм шифрування
  2. Симетричне шифрування ключів
  3. Що таке шифрування?
  4. Вступ до інкапсуляції в С
  5. Інкапсуляція в JavaScript (переваги)
  6. Доступ до модифікаторів у PHP