Цомпарисон Цхарт
Основа за поређење | Скривање података | Енцапсулатион |
---|---|---|
Басиц | Подаци скривају забринутост због сигурности података заједно са сложеношћу скривања. | Инкапсулација се тиче података о оматању како би се сакрила сложеност система. |
Фоцус | Скривање података фокусира се на ограничавање или дозвољавање употребе података унутар капсуле. | Инкапсулација се фокусира на оматање или оматање сложених података. |
Аццесс Специфиер | Подаци који се скривају су увијек приватни и недоступни. | Подаци у енкапсулацији могу бити приватни или јавни. |
Процес | Скривање података је процес као и техника. | Инкапсулација је подпроцес у скривању података. |
Дефиниција скривања података
Скривање података је концепт у објектно-оријентисаном програмирању који потврђује сигурност чланова класе од неовлаштеног приступа. Скривање података је техника заштите чланова података од манипулације или хаковања из било ког другог извора. Подаци су најосјетљивији и најизбирљивији садржај програма који, ако се њима манипулише, може резултирати неисправним излазом и штети интегритету података. Скривање података се контролише у Јави уз помоћ модификатора приступа (приватних, јавних и заштићених). Подаци који су јавни су доступни изван класе, дакле, ако желите да сакријете своје податке или ограничите приступ извана, прогласите своје податке приватнима . Приватни подаци су доступни само објектима те класе.
Хајде да разумемо податке који се скривају уз помоћ примера. Претпоставимо да сте декларисали ЦхецкАццоунт класу и да имате баланс члана у тој класи. Овдје је стање рачуна осјетљива информација. Можете дозволити да спољна апликација проверава баланс унутар рачуна, али нећете дозволити да спољна апликација мења атрибут баланса. На тај начин, проглашавајући атрибут равнотеже приватним, ограничавате приступ балансу из спољне апликације.
Скривање података такође смањује комплексност система. Скривање података се може постићи кроз енкапсулацију, јер је енкапсулација подпроцес скривања података.
Дефиниција енкапсулације
Инкапсулација је везивање кода и података заједно у капсули како би се сакрила сложеност класе. Инкапсулација има мање везе са спецификаторима приступа (приватним, јавним и заштићеним). У енкапсулацији чланови унутар класе могу бити приватни, јавни или заштићени . Приватни чланови класе су доступни само објектима те класе, а јавни чланови су доступни објектима класе, као и онима који су доступни изван класе. Инкапсулација помаже крајњем кориснику система да научи шта да ради са системом уместо на који начин то мора да ради.
Хајде да разумемо инкапсулацију уз помоћ примера аутомобила. Ако возач аутомобила жели да промени брзину у возилу, оно што му је потребно је да само промени положај погонских зупчаника у возилу и тиме промени брзину возила. Возач не мора да разуме сложеност, какав је механизам за промену степена преноса. Овако енкапсулација смањује комплексност система. Инкапсулација омогућава лакши рад система од стране крајњег корисника.
Кључне разлике између скривања података и енкапсулације
- Инкапсулација се бави прикривањем сложености програма. С друге стране, скривање података се односи на сигурност података у програму.
- Инкапсулација се фокусира на оматање (инкапсулирање) комплексних података како би се кориснику представио једноставнији приказ. С друге стране, скривање података се фокусира на ограничавање употребе података, са намером да се обезбеди безбедност података.
- У енкапсулацији подаци могу бити јавни или приватни, али у скривању података, подаци морају бити само приватни .
- Скривање података је процес као и техника, док је енкапсулација подпроцес у скривању података.
Закључак:
Закључујем да су скривање података и енкапсулација важни у имплементацији система. Оба се иду руку под руку када се скривање података фокусира на сигурност података, а енкапсулација се фокусира на смањење сложености система како би апликација постала лакша за употребу.