Võrdluskaart
Võrdluse alus | Andmete peitmine | Kapseldamine |
---|---|---|
Põhiline | Andmed peidavad muret andmete turvalisuse pärast ja peidavad keerukust. | Kapseldamise andmete kapseldamise probleemid süsteemi keerukuse peitmiseks. |
Fookus | Data Hiding keskendub kapslis sisalduvate andmete piiramisele või lubamisele. | Kapseldamine keskendub keeruliste andmete ümbritsemisele või pakkimisele. |
Juurdepääsu spetsifikatsioon | Andmete peidus olevad andmed on alati privaatsed ja kättesaamatud. | Kapseldatud andmed võivad olla era- või avalikud. |
Protsess | Andmete peitmine on nii protsess kui ka tehnika. | Kapseldamine on andmete peitmise alamprotsess. |
Andmete peitmise määratlus
Andmete peitmine on mõiste objektorienteeritud programmeerimises, mis kinnitab klassi liikmete turvalisust volitamata juurdepääsu eest. Andmete peitmine on tehnika, mis kaitseb andmeliikmeid manipuleerimast või häkkimisest mis tahes muust allikast. Andmed on programmi kõige tundlikum ja volatiilsem sisu, mis manipuleerimisel võib põhjustada vale väljundi ja kahjustab ka andmete terviklikkust. Andmete peitmist kontrollitakse Java-seadmes juurdepääsuparandajate abil (era-, avalik ja kaitstud). Avalikud andmed on kättesaadavad väljastpoolt klassi, nii et kui soovite oma andmeid varjata või piirata selle väljastamist väljastpoolt, deklareerige oma andmed privaatseks . Isiklikud andmed on kättesaadavad ainult selle klassi objektidele.
Mõistagem näiteks näite abil peidus olevaid andmeid. Oletame, et olete deklareerinud CheckAccount klassi ja teil on selle klassi sees andmete liik. Siin on konto saldo tundlik. Te võite lubada välisel rakendusel konto tasakaalu kontrollida, kuid te ei luba väljaspool rakendust tasakaalu atribuuti muuta. Seega piiraks bilansi atribuudi privaatseks kuulutamine välise rakenduse tasakaalu kättesaadavust.
Andmete peitmine vähendab ka süsteemi keerukust. Andmete peitmine on võimalik läbi kapseldamise, kuna kapseldamine on andmete peitmise alamprotsess.
Kapseldamise mõiste
Kapseldamine on koodi ja andmete sidumine kapslis, et varjata klassi keerukust. Kapseldamine on vähem seotud juurdepääsuparameetritega (era-, avalik ja kaitstud). Kapseldamise korral võivad klassi liikmed olla era-, avalik-õiguslikud või kaitstud . Klasside eraliikmed on ligipääsetavad ainult selle klassi objektidele ja avalikud liikmed on ligipääsetavad nii klassi objektidele kui ka neile, kes on väljaspool klassi kättesaadavad. Kapseldamine aitab süsteemi lõppkasutajal teada saada, mida süsteemiga teha, selle asemel, kuidas seda teha.
Mõistagem kapseldamist auto näite abil. Kui auto juht soovib muuta auto käiku, siis on vaja lihtsalt muuta auto tööriistade asendit ja seega muuta auto käiku. Juht ei pea mõistma keerukust, milline on käiguvahetuse mehhanism. Nii vähendab kapseldamine süsteemi keerukust. Kapseldamine muudab süsteemi lõppkasutajale lihtsamaks.
Andmete peitmise ja kapseldamise peamised erinevused
- Kapseldamine käsitleb programmi keerukuse peitmist. Teisest küljest käsitleb andmete varjamine programmi andmete turvalisust .
- Kapseldamine keskendub keeruliste andmete pakkimisele (kapseldamisele), et kasutajale oleks lihtsam vaadata. Teisest küljest keskendub andmete varjamine andmete kasutamise piiramisele, eesmärgiga tagada andmete turvalisus.
- Kapseldamise korral võivad andmed olla avalikud või eraviisilised, kuid andmete peitmisel peavad andmed olema ainult eraviisilised .
- Andmete peitmine on nii protsess kui ka tehnika, kusjuures kapseldamine on andmete peitmise alamprotsess .
Järeldus:
Lõpetuseks ütlen, et andmete peitmine ja kapseldamine on süsteemi rakendamisel olulised. Mõlemad käivad käsikäes, kui andmete peitmine keskendub andmete turvalisusele, kapseldamine keskendub süsteemi keerukuse vähendamisele, et muuta rakendus kasutajasõbralikumaks.