Преглед енкапсулације у Питхон-у

Инкапсулација је један од четири основна концепта објектно оријентисаног програмирања. Када постоји захтев за груписање података и његових наредних подпрограма који сарађују и функционишу на једном месту, заједно са потребом да се од корисника сакрију сложени детаљи, ми користимо енкапсулацију да бисмо разумели 'Енкапсулација на Питхон-у' потребно је дубоко и разумјети како Енкапсулација улази у слику у програмском језику. Инкапсулација помаже у ограничавању приступа методама и варијаблама. Спрјечавање било какве случајне измјене података, а то се постиже кориштењем нејавних варијабли инстанције и нејавних варијабли инстанци. Класа обухвата методе и променљиве.

Име Манглинг у Питхон-у

Питхон подразумева ограничење приступа подацима. Не постоје експлицитни модификатори приступа, али приступ се може контролисати преко Наме Манглинг у Питхон-у. Подразумевано су све методе и променљиве јавне у Питхон-у. Дакле, ако било који идентификатор има две водеће подвлаке, он постаје нејавна инстанца у Питхон-у. Овдје бисмо специфицирали варијабле и методе који нису јавни, како бисмо боље разумјели енкапсулацију. Обим методе која није јавна примера постоји само унутар своје класе, а започиње једном подвлаком или две подвлаке, тј. Једним „_“ или „__“ дуплим пре променом или методом. Опсег променљиве не-јавне инстанце је такође у сопственој класи или методом на који је дефинисан, а такође почиње са две подвлаке. Ако нам недостају две подвлаке, онда се ова метода сматра јавном методом. Пре него што разумемо Енцапсулацију у Питхон-у, морамо разумети како раде јавне и нејавне променљиве и методе инстанце.

Варијабле за не-јавне инстанце

У Питхон-у, не постоји термин "приватни", јер ниједан атрибут заиста није приватни у Питхон-у (Ми ћемо расправљати о основној алтернативи касније у чланку). Уместо тога, називамо их променљивом инстанцом за јавност. На тај начин бисмо ми упућивали приватне променљиве и приватне методе.

Ево малог исјечка кода у питхон-у за не-јавне варијабле инстанције:

Користимо кључну реч селф јер приступамо варијабли класе. Излаз је:

Да бисмо добили потврду о опсегу променљиве не-јавне инстанце, у код додамо принт (абц .__ а):

А повратни резултат је:

Дакле, видимо да не можемо користити не-јавне варијабле инстанци изван класе.

Методе нејавне инстанце

Функција нејавне инстанце се не може позвати на објект директно, већ само унутар класе.

У овом исјечку кода имамо двије методе, једну нејавну инстанцу и другу јавну методу. Јавни метод се лако назива креирањем објекта класе абц и тада се његов испис штампа.

Када се покуша сличан приступ за метод који није јавни примерак, сусрећемо се са следећом грешком:

Овај програм ће произвести следеће резултате:

Стога није могуће приступити методи која није јавна примера креирањем објеката. Да бисмо приступили методи који није јавни пример, можемо позвати методу __схов1 () из методе схов2 () исте класе. Ево како можемо приказати методу нејавне инстанце из јавног метода исте класе.

Излаз:

Стога се метода нејавне инстанце не може назвати изван своје класе.

Индиректни начин приступа варијабли нејавне инстанце

Из легитимних разлога, нејавним варијаблама инстанци не може се приступити изван класе, али постоји индиректни начин за промену вредности променљиве не-јавне инстанце и приступ помоћу објеката. Погледаћемо следећи исечак кода:

Излаз:

У горњем програму имамо јавне методе гетНумбер (селф, нум) и дисплаиНумбер () и једну нејавну варијаблу инстанце. Када позивамо прву методу доделимо вредност варијабли не-јавне инстанце, а која се позива у методи дисплаиНумбер ().

Метода сеттера користи се за постављање вриједности варијабле не-јавне инстанце. Ово је корисно у сценаријима када можда желите променити вредност променљиве не-јавне инстанце након креирања објеката за одређену променљиву.

Предности енкапсулације у Питхон-у

Инкапсулација помаже у успостављању бољег протока података, а такође и заштите података. Концепт енкапсулације код чини самодовољним. Инкапсулација пружа велику помоћ на нивоу примене, јер се пре свега фокусира на питање „како“ оставља комплекс „када и где“ и његове сложености. Сакривање података у јединицу олакшава капсулацију и такође их осигурава.

Зашто нам треба енкапсулација у Питхон-у?

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

  • Потребна је добро дефинисана интеракција у свакој апликацији, а капсуле могу да помогну у томе.
  • Концепт програмирања објектног оријентације у питхону фокусиран је на стварање кода за вишекратну употребу. Ово се такође скраћује као ДРИ (Не понављајте себе).
  • Одржавање апликације је лакше и осигурана је сигурност.
  • Јасност у поступку кодирања као програмери треба да се брину с циљем класе, а сложености се систематски третирају.
  • Правилна организација кодова помаже флексибилности кода и такође помаже у тестирању јединица.
  • Корисници лако користе систем јер су сакривени далеко од сложеног дизајна који је укључен у позадину.
  • Имајући све сличне податке на једном месту и капсулирајући повећава кохезију унутар модула.
  • Побољшава читљивост кодова и промене у једном делу кода не ометају друге делове кода.
  • Инкапсулацијом се спречава да се делу кода случајно приступи, али не и намерно, јер објекти садрже критичне податке за апликације и треба их изменити било где у коду.

Закључак - Инкапсулација у Питхон-у

Једноставније речено, капсулација на Питхон-у значи да је унутрашњи приказ објекта генерално скривен од погледа изван дефиниције објекта. Ово помаже програмеру да развије корисничко искуство за крајњег корисника и постоји заштита од кршења сигурности јер су кодови заштићени.

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

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

  1. Шта је Питхон
  2. Оријентисан је на Питхон
  3. Узорци у Питхон-у
  4. Како користити енкапсулацију у Ц ++?
  5. Енкапсулација на Јави | Примери
  6. Инкапсулација у Ц (рад, примери)
  7. Увод у енкапсулацију у ЈаваСцрипт-у

Категорија: