Tablica usporedbe
Osnova za usporedbu | Skrivanje podataka | ovijanje |
---|---|---|
Osnovni, temeljni | Podaci skrivaju zabrinutost zbog sigurnosti podataka i skrivanja složenosti. | Enkapsulacija se odnosi na podatke o omatanju kako bi se sakrila složenost sustava. |
Fokus | Skrivanje podataka usredotočuje se na ograničavanje ili dopuštanje korištenja podataka unutar kapsule. | Inkapsulacija se fokusira na omatanje ili omatanje složenih podataka. |
Access Specifier | Podaci skriveni podaci uvijek su privatni i nedostupni. | Podaci u enkapsulaciji mogu biti privatni ili javni. |
Postupak | Skrivanje podataka je proces kao i tehnika. | Inkapsulacija je podproces u skrivanju podataka. |
Definicija skrivanja podataka
Skrivanje podataka je koncept u objektno-orijentiranom programiranju koji potvrđuje sigurnost članova klase od neovlaštenog pristupa. Skrivanje podataka je tehnika koja štiti članove podataka od manipuliranja ili hakiranja iz bilo kojeg drugog izvora. Podaci su najosjetljiviji i najizbirljiviji sadržaj programa koji, ako se njime manipulira, može rezultirati netočnim izlazom i također šteti integritetu podataka. Skrivanje podataka kontrolira se u Javi uz pomoć modifikatora pristupa (privatnih, javnih i zaštićenih). Podaci koji su javni dostupni su izvan razreda pa ako želite sakriti svoje podatke ili ograničiti pristup izvana, proglasite svoje podatke privatnima . Privatni podaci dostupni su samo objektima te klase.
Razmotrimo podatke koji se skrivaju uz pomoć primjera. Pretpostavimo da ste proglasili CheckAccount klasu i da imate ravnotežu članova unutar te klase. Ovdje je stanje računa osjetljivih informacija. Možete dopustiti vanjskoj aplikaciji da provjeri stanje unutar računa, ali nećete dopustiti vanjskoj aplikaciji da promijeni atribut ravnoteže. Tako ćete proglasiti atribut ravnoteže privatnim kako biste ograničili pristup ravnoteži iz vanjske aplikacije.
Skrivanje podataka također smanjuje neke složenosti sustava. Skrivanje podataka može se postići pomoću enkapsulacije, jer je enkapsulacija podproces skrivanja podataka.
Definicija enkapsulacije
Inkapsulacija je vezanje koda i podataka zajedno u kapsuli kako bi se sakrila složenost klase. Inkapsulacija ima manje veze s specifikatorima pristupa (privatnim, javnim i zaštićenim). Članovi unutar enkapsulacije unutar klase mogu biti privatni, javni ili zaštićeni . Privatni članovi klase dostupni su samo objektima te klase, a javni članovi dostupni su objektima klase kao i onima izvan klase. Inkapsulacija pomaže krajnjem korisniku sustava da nauči što učiniti sa sustavom, a ne kako to mora učiniti.
Razumimo inkapsulaciju pomoću primjera automobila. Ako vozač automobila želi promijeniti brzinu u automobilu, ono što mu je potrebno jest da samo promijeni položaj pogonskih zupčanika jetre automobila i time promijeni brzinu automobila. Vozač ne mora razumjeti složenost, što je mehanizam za promjenu stupnja prijenosa. Na taj način enkapsulacija smanjuje složenost sustava. Encapsulation čini sustav lakšim za upravljanje od strane krajnjeg korisnika.
Ključne razlike između skrivanja podataka i enkapsulacije
- Inkapsulacija se bavi skrivanjem složenosti programa. S druge strane, skrivanje podataka odnosi se na sigurnost podataka u programu.
- Encapsulation se fokusira na omatanje (enkapsuliranje) kompleksnih podataka kako bi se korisniku predstavio jednostavniji prikaz. S druge strane, skrivanje podataka usredotočuje se na ograničavanje uporabe podataka, s namjerom osiguranja sigurnosti podataka.
- U enkapsulaciji podaci mogu biti javni ili privatni, ali u skrivanju podataka, podaci moraju biti samo privatni .
- Skrivanje podataka je proces kao i tehnika, dok je enkapsulacija podproces u skrivanju podataka.
Zaključak:
Zaključujem da su skrivanje i enkapsuliranje podataka važni u implementaciji sustava. Oboje idu ruku pod ruku gdje se skrivanje podataka usredotočuje na sigurnost podataka, dok se enkapsulacija usredotočuje na smanjenje složenosti sustava kako bi aplikacija postala jednostavnija za korištenje.