Sammenligningstabel
Grunnlag for sammenligning | Data gjemmer seg | innkapsling |
---|---|---|
grunn~~POS=TRUNC | Data gjemmer bekymring for datasikkerhet sammen med å gjemme kompleksitet. | Encapsulation bekymringer om innpakning av data for å skjule kompleksiteten til et system. |
Fokus | Data skjuling fokuserer på å begrense eller tillate bruk av data inne i kapselen. | Innkapsling fokuserer på innhylling eller innpakning av komplekse data. |
Tilgangspesifikator | Dataene under skjule data er alltid private og utilgjengelige. | Dataene under innkapsling kan være private eller offentlige. |
Prosess | Data gjemmer er en prosess så vel som teknikk. | Encapsulation er en delprosess i data gjemmer seg. |
Definisjon av data gjemmer seg
Data gjemmer er et konsept i objektorientert programmering som bekrefter sikkerheten til medlemmer av en klasse fra uautorisert tilgang. Data gjemmer er en teknikk for å beskytte data medlemmene fra å bli manipulert eller hacket fra en hvilken som helst annen kilde. Data er det mest følsomme og flyktige innholdet i et program som, hvis manipulert, kan føre til feil utgang, og det skader også integriteten til dataene. Data gjemmer seg i Java ved hjelp av tilgangsmodifikatorer (privat, offentlig og beskyttet). Dataene som er offentlige er tilgjengelige fra utenfor klassen, derfor hvis du vil gjemme dataene dine eller begrense det fra å få tilgang til fra utsiden, erklærer du dataene dine privat . Private data er bare tilgjengelige for objekter av denne klassen.
La oss forstå data som gjemmer seg ved hjelp av et eksempel. Anta at du erklærte en CheckAccount- klasse, og du har en data-medlemsbalanse inne i denne klassen. Her er balansen i en konto sensitiv informasjon. Du kan tillate et eksternt program for å sjekke balansen inne i en konto, men du vil ikke tillate et eksternt program å endre balanseattributtet. Dermed erklærer balansen attributt privat du vil begrense tilgangen til balanse fra et eksternt program.
Data gjemmer også reduserer noe kompleksitet i systemet. Data skjuling kan oppnås gjennom innkapslingen, da innkapsling er en delprosess for data gjemmer seg.
Definisjon av innkapsling
Innkapsling binder koden og dataene sammen i en kapsel for å skjule kompleksiteten til en klasse. Innkapsling har mindre å gjøre med tilgangsspesifikatorer (privat, offentlig og beskyttet). I innkapslingsmedlemmer i en klasse kan være privat, offentlig eller beskyttet . De private medlemmene av en klasse er kun tilgjengelige for objektene i den klassen, og de offentlige medlemmene er tilgjengelige for klassens gjenstander, så vel som de er tilgjengelige fra utenfor klassen. Encapsulation hjelper sluttbrukeren til et system å lære hva de skal gjøre med systemet i stedet for hvordan det skal gjøres.
La oss forstå innkapslingen ved hjelp av et eksempel på en bil. Hvis en bilfører ønsker å bytte bilutveksling, er det bare han som skal endre posisjonen til leverens operasjonsgir på bilen, og det endrer dermed bilens utveksling. En sjåfør trenger ikke å forstå kompleksiteten til, hva er mekanismen bak å endre utstyret. Slik reduserer innkapslingen kompleksiteten til et system. Innkapsling gjør systemet enklere å betjene av sluttbrukeren.
Nøkkelforskjeller mellom data gjemmer og innkapsling
- Encapsulation omhandler å gjemme kompleksiteten til et program. På den annen side omhandler data gjemmer seg sikkerheten til data i et program.
- Innkapsling fokuserer på innpakning (innkapsling) av komplekse data for å presentere en enklere visning for brukeren. På den annen side fokuserer data gjemmer seg på å begrense bruken av data, som har til hensikt å sikre datasikkerheten.
- Ved innkapsling kan data være offentlige eller private, men i data gjemmer, må dataene være private .
- Data gjemmer er en prosess så vel som en teknikk, mens innkapsling er delprosess i data gjemmer seg.
Konklusjon:
Jeg konkluderer med at data skjule og innkapsling begge er viktige i en implementering av et system. Begge går hånd i hånd der data skjuler fokuserer på datasikkerhet, fokuserer innkapslingen på å redusere systemets kompleksitet for å gjøre applikasjonen mer brukervennlig.