Vergelijkingstabel
Basis voor vergelijking | Gegevens verbergen | inkapseling |
---|---|---|
basis- | Gegevens verbergen bezorgdheid over gegevensbeveiliging en verbergen de complexiteit. | Verpakkingsproblemen met betrekking tot het omwikkelen van gegevens om de complexiteit van een systeem te verbergen. |
Focus | Gegevens verbergen richt zich op het beperken of toestaan van het gebruik van gegevens in de capsule. | Encapsulation richt zich op het omhullen of verpakken van de complexe gegevens. |
Access Specifier | De gegevens die verborgen blijven, zijn altijd privé en ontoegankelijk. | De gegevens onder inkapseling kunnen privé of openbaar zijn. |
Werkwijze | Het verbergen van gegevens is zowel een proces als een techniek. | Encapsulation is een subproces in het verbergen van gegevens. |
Definitie van gegevens verbergen
Gegevens verbergen is een concept in objectgeoriënteerd programmeren dat de beveiliging van leden van een klasse tegen ongeautoriseerde toegang bevestigt. Gegevens verbergen is een techniek om de gegevensleden te beschermen tegen manipulatie of hacking vanuit een andere bron. Gegevens zijn de meest gevoelige en vluchtige inhoud van een programma dat, als het wordt gemanipuleerd, kan resulteren in een onjuiste uitvoer en het schaadt ook de integriteit van de gegevens. Het verbergen van gegevens wordt beheerd in Java met behulp van toegangsmodifiers (privé, openbaar en beveiligd). De gegevens die openbaar zijn, zijn toegankelijk van buiten de klas, dus als u uw gegevens wilt verbergen of wilt voorkomen dat deze van buitenaf worden geopend, moet u uw gegevens privé verklaren. Privégegevens zijn alleen toegankelijk voor de objecten van die klasse.
Laten we gegevens begrijpen die zich verbergen met behulp van een voorbeeld. Stel dat u een CheckAccount- klasse hebt gedeclareerd en dat u binnen die klasse een gegevenslidbalans hebt. Hier is de balans van een account gevoelige informatie. U kunt een externe toepassing toestaan om het saldo in een account te controleren, maar u staat niet toe dat een externe toepassing het kenmerk balans wijzigt. Dus als het balansattribuut privé wordt verklaard, zou u de toegang tot het saldo van een externe toepassing beperken.
Het verbergen van gegevens vermindert ook de complexiteit van het systeem. Verbergen van gegevens kan worden bereikt door de inkapseling, omdat inkapseling een subproces is van gegevensverbergen.
Definitie van inkapseling
Inkapseling is het binden van de code en gegevens samen in een capsule om de complexiteit van een klasse te verbergen. Inkapseling heeft minder te maken met toegangsspecificaties (privé, openbaar en beschermd). In inkapseling kunnen leden binnen een klasse privé, openbaar of beschermd zijn . De privéleden van een klasse zijn alleen toegankelijk voor de objecten van die klasse en de openbare leden zijn toegankelijk voor de objecten van de klas en zijn ook toegankelijk van buiten de klas. Inkapseling helpt de eindgebruiker van een systeem om te leren wat te doen met het systeem in plaats van hoe het moet doen.
Laten we inkapseling begrijpen met behulp van een voorbeeld van een auto. Als een bestuurder van een auto de versnelling van de auto wil veranderen, hoeft hij alleen maar de positie van de leverbedieningen van de auto te veranderen en zo verandert hij de versnelling van een auto. Een bestuurder hoeft niet de complexiteit te begrijpen van, wat is het mechanisme achter het veranderen van de versnelling. Dit is hoe inkapseling de complexiteit van een systeem vermindert. Inkapseling maakt het systeem gemakkelijker te bedienen door de eindgebruiker.
Belangrijkste verschillen tussen gegevens verbergen en inkapseling
- Inkapseling gaat over het verbergen van de complexiteit van een programma. Aan de andere kant, gegevens verbergen deals met de beveiliging van gegevens in een programma.
- Inkapseling richt zich op het omwikkelen (inkapselen) van de complexe gegevens om een eenvoudiger weergave voor de gebruiker te bieden. Aan de andere kant is het verbergen van gegevens gericht op het beperken van het gebruik van gegevens, met het oog op de beveiliging van de gegevens.
- In encapsulatie kunnen gegevens openbaar of privé zijn, maar in gegevensverbergen moeten gegevens alleen privé zijn.
- Het verbergen van gegevens is zowel een proces als een techniek, terwijl inkapseling een subproces is bij het verbergen van gegevens.
Conclusie:
Ik besluit met te zeggen dat gegevensverbergen en inkapseling beide belangrijk zijn bij de implementatie van een systeem. Beide gaan hand in hand waar het verbergen van gegevens zich richt op de beveiliging van gegevens, de inkapseling richt zich op het verminderen van de complexiteit van het systeem om de toepassing gebruiksvriendelijker te maken.