Въведение в капсулирането в C ++

Капсулирането означава процесът на опаковане на данните и функциите в една капсула. Той също така защитава данните от други класове, като ограничава достъпа. По принцип той крие данните. Ако вземем пример от реалния свят на колежа, имаме различни катедри като Физика, Химия и Биология и др. достъп директно до данните от този отдел. Първо той трябва да се свърже с ръководителя на отдела по биология, след което да поиска от него да даде данните. Ето как работи капсулацията.

Как да използвате капсулирането в C ++?

За да постигнем това, трябва да следваме стъпките по-долу:

  1. Първо, трябва да направим всички членове на данните частни.
  2. Тогава публичните функции за получаване и настройка трябва да бъдат създадени за всеки член на данните по такъв начин, че функцията get получава стойността на член на данните и зададената функция задава стойността на члена на данните.

Капсулирането и скриването на данни може да бъде постигнато в C ++, като се използват дефинирани от потребителя типове, наречени класове. Спецификаторите за достъп в класовете могат да бъдат частни, защитени или публични. По подразбиране всички елементи в даден клас са частни. Според нуждите можем да променим нивата на достъп. Три нива на спецификатори за достъп са по-долу:

  • Частно : Членовете от същия клас имат достъп до данните.
  • Публично : Всички класове имат достъп до данните.
  • Защитени : Достъпът до данни е разрешен за членове от същия клас или производни класове.

Най-доброто използване на капсулацията се прави само когато използваме или частни, или защитени. Когато използваме public, трябва да сме сигурни, че знаем правилната му нужда в кода.

За да обясним това, ще разгледаме по-долу класа.

Тук физиката, химията и биологията са от типа двойни и са частни променливи. GetTotalMarks () е публичен метод, използван за извличане на общите оценки и на трите предмета. Не можем да имаме достъп до всеки предмет в друг клас поради нивото му на защита. Но можем да получим достъп до метода и можем да използваме за извличане на общите оценки чрез преминаване на отделни предметни марки. Можем да зададем оценките на всеки обект, използвайки метода setter, който ще разгледаме в следващия пример.

Пример за капсулиране в С ++ със стъпки

По-долу е стъпка по стъпка инструкцията за изпълнение на капсулирането.

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