Увод у капсулу у Ц ++

Инкапсулација означава процес замотавања података и функција у једну капсулу. Такође штити податке из других класа ограничавајући приступ. У основи он скрива податке. Ако узмемо пример колеџа из реалног света, имамо различите одељења као што су физика, хемија и биологија, итд. Може се догодити ситуација у којој, шеф катедре за физику, треба неке информације из одељења за биологију, он не може да приступите подацима из тог одељења директно. Прво би требало да контактира шефа одељења за биологију, а затим да затражи да му да податке. Овако функционира енкапсулација.

Како користити енкапсулацију у Ц ++?

Да бисмо то постигли, морамо да следимо следеће кораке:

  1. Прво морамо све чланове података учинити приватним.
  2. Тада би требало креирати јавне функције прикупљања и постављања за сваког члана података на такав начин да функција гет добије вриједност члана података и постављена функција поставља вриједност члана података.

Инкапсулација и сакривање података може се постићи у Ц ++, коришћењем кориснички дефинисаних типова који се називају Класе. Специфичари приступа у класама могу бити приватни, заштићени или јавни. По дефаулту су све ставке у класи приватне. Према потреби, можемо променити нивое приступа. Три нивоа спецификатора приступа су како слиједи:

  • Приватно : Чланови исте класе могу приступити подацима.
  • Јавно : Све класе могу приступити подацима.
  • Заштићено : Приступ подацима је дозвољен припадницима исте класе или изведених класа.

Најбоља употреба енкапсулације врши се само када користимо или приватну или заштићену. Када користимо јавност морамо се потрудити да знамо његову исправну потребу у коду.

Да бисмо то објаснили погледаћемо испод класе.

Овде су физика, хемија и биологија двоструке и приватне су променљиве. ГетТоталМаркс () је јавна метода која се користи за проналажење укупних оцена свих трију предмета. Не можемо приступити сваком предмету у другој класи због његовог нивоа заштите. Али можемо приступити методи и можемо је користити за проналажење укупних марки прелазећи појединачне ознаке предмета. Ознаке сваког предмета можемо поставити помоћу методе сеттера, коју ћемо погледати у следећем примеру.

Пример инкапсулације у Ц ++ са корацима

Испод је детаљна упутства за имплементацију енкапсулације.

1) Размотримо сценарио где морамо израчунати укупне оцене ученика израчунавањем суме у три предмета, тј. Физика, хемија и биологија. Али услов је такав да је друга класа

2) Прво укључите иостреам за функцију улаза и излаза.

3) Користите назив простора стд

4) Напишите класу која ће садржавати све податке и функције. Нека буде Студент.

5) Изјавите приватне променљиве физику, хемију и биологију. Ово говори да не можемо да приступимо променљивим изван ове класе Студент. Али им можемо приступити локално и по потреби модификујемо вредност. Да би променили вредност, можемо написати јавну функцију постављања и приступити јој у другој класи.

6) Напишите функцију названу СетМаркс која ће се користити за подешавање вредности приватних променљивих. Будући да не можемо приступити приватним променљивим физици, хемији и биологији ван ученика, потребна нам је ова функција да поставимо ове вредности из екстерне класе. Ова метода ће бити јавна јер нам треба да јој приступимо ван класе. Потребна су нам три параметра за добијање вредности за сваки предмет. Унутар функције поставићемо вредност приватних променљивих.

7) Потребан нам је још један начин да добијемо укупне оцене са сва три предмета додавањем оцена. Ова метода је такође јавна. Једноставно назовите ову методу ван класе и добићемо збир бодова три предмета.

8) Сада ћемо ван ове класе написати главну функцију.

9) Најпре у унутрашњости главне функције, приступицемо уценику и креирати објект класе.

10) У следећем кораку назваћемо функцију да поставимо ознаке за три субјекта. Овде ћемо проследити ознаке као параметре функцији. Испод је део кода да се то постигне.

11) Затим ћемо добити укупне оцене и одштампати вредност. И вратите 0 на крају.

12) Можете ли погодити излаз кода? Управу си. Излаз је приказан испод.

Излаз: 240

13) Сада ћемо анализирати како смо добили овај резултат. Пошто нисмо могли да приступимо приватним променљивим, написали смо функцију Сеттер која узима вредности из друге класе и модификује променљиве. Функција Геттер дохваћа променљиве, додаје их и шаље укупне оцене ученика. Сваки пут када пренесемо три различите вредности у функцију постављача, можемо видети да ће и укупне оцене које се добијају такође варирати.

14) Из овога можемо рећи да нам капсулација помаже да заштитимо неке потребне податке, а такође се користе и функције за постављање и добијање података за промену њихових вредности. Чинећи то. Заштита се такође постиже без ометања наше сврхе.

Закључак

У овом чланку смо сазнали како се енкапсулација може постићи у Ц ++. Радећи ово можемо постићи следеће предности.

  • Класе након инкапсулације повећавају читљивост и смањују сложеност.
  • Помаже у заштити података.
  • Приватност података у класи може се измијенити без измјене цијелог кода помоћу модификатора приступа.

Препоручени чланци

Ово је водич за енкапсулацију у Ц ++. Овде смо расправљали о томе како користити енкапсулацију у Ц ++ заједно са примером инкапсулације у Ц ++ са Корацима. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Алгоритам шифрирања
  2. Симетрично шифрирање кључа
  3. Шта је шифровање?
  4. Увод у капсулу у Ц
  5. Инкапсулација у ЈаваСцрипту (Предности)
  6. Приступите модификаторима на ПХП-у

Категорија: