Рецоммендед, 2020

Избор Уредника

Разлика између скривања података и енкапсулације

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

Цомпарисон Цхарт

Основа за поређењеСкривање податакаЕнцапсулатион
БасицПодаци скривају забринутост због сигурности података заједно са сложеношћу скривања.Инкапсулација се тиче података о оматању како би се сакрила сложеност система.
ФоцусСкривање података фокусира се на ограничавање или дозвољавање употребе података унутар капсуле.Инкапсулација се фокусира на оматање или оматање сложених података.
Аццесс СпецифиерПодаци који се скривају су увијек приватни и недоступни.Подаци у енкапсулацији могу бити приватни или јавни.
ПроцесСкривање података је процес као и техника.Инкапсулација је подпроцес у скривању података.

Дефиниција скривања података

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

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

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

Дефиниција енкапсулације

Инкапсулација је везивање кода и података заједно у капсули како би се сакрила сложеност класе. Инкапсулација има мање везе са спецификаторима приступа (приватним, јавним и заштићеним). У енкапсулацији чланови унутар класе могу бити приватни, јавни или заштићени . Приватни чланови класе су доступни само објектима те класе, а јавни чланови су доступни објектима класе, као и онима који су доступни изван класе. Инкапсулација помаже крајњем кориснику система да научи шта да ради са системом уместо на који начин то мора да ради.

Хајде да разумемо инкапсулацију уз помоћ примера аутомобила. Ако возач аутомобила жели да промени брзину у возилу, оно што му је потребно је да само промени положај погонских зупчаника у возилу и тиме промени брзину возила. Возач не мора да разуме сложеност, какав је механизам за промену степена преноса. Овако енкапсулација смањује комплексност система. Инкапсулација омогућава лакши рад система од стране крајњег корисника.

Кључне разлике између скривања података и енкапсулације

  1. Инкапсулација се бави прикривањем сложености програма. С друге стране, скривање података се односи на сигурност података у програму.
  2. Инкапсулација се фокусира на оматање (инкапсулирање) комплексних података како би се кориснику представио једноставнији приказ. С друге стране, скривање података се фокусира на ограничавање употребе података, са намером да се обезбеди безбедност података.
  3. У енкапсулацији подаци могу бити јавни или приватни, али у скривању података, подаци морају бити само приватни .
  4. Скривање података је процес као и техника, док је енкапсулација подпроцес у скривању података.

Закључак:

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

Top