Verschil tussen encapsulatie en abstractie

Anonim

Encapsulatie versus abstractie

Encapsulatie en abstractie zijn twee verschillende maar gerelateerde begrippen gevonden in OOP (Object Oriented Programming) talen. Encapsulation is het concept van het combineren van data en gedrag samen als een enkele entiteit. Aan de andere kant, is Abstraction het proces van het presenteren van hoe een entiteit zich gedraagt ​​ ziet in tegenstelling tot hoe het geïmplementeerd is.

Wat is Encapsulation?

Encapsulatie is het proces van het wikkelen van data en operatie die erin op een enkele entiteit opereren. Dit betekent in wezen dat voor toegang tot data bepaalde voorgedefinieerde methoden moeten worden gebruikt. Met andere woorden, ingekapselde gegevens zijn niet direct toegankelijk. Dit zorgt ervoor dat de integriteit van de gegevens behouden blijft, omdat de gebruiker niet direct toegang heeft tot en de gegevens wijzigt zoals hij / zij wenst. De gebruikers krijgen alleen de data waarden of instellen door middel van de methoden die publiekelijk beschikbaar zijn voor de gebruikers. Deze methoden verschaffen meestal data validatie, zodat alleen de gegevens in het juiste formaat mogen worden ingevoegd in de velden. Daarom zijn de voordelen van Encapsulation driemaal. Door middel van encapsulatie kan de programmeur velden van een les alleen lezen of alleen schrijven. Ten tweede kan een klas volledige controle hebben over wat er in zijn velden is opgeslagen. Tenslotte, de gebruikers van een klas hoeven zich geen zorgen te maken over hoe de gegevens worden opgeslagen. In Java kan de programmeur alle instantievariabelen verklaren als prive, en krijgen get and set methodes (die openbaar zijn) om de privévelden te openen en te wijzigen.

Wat is abstractie?

Abstractie is het proces van het scheiden van de presentatie details van de implementatie details. Dit is zo gedaan dat de ontwikkelaar is vrijgesteld van de complexere implementatie details. In plaats daarvan kan de programmeur zich richten op de presentatie of de gedrags details van de entiteit. In eenvoudige termen richt abstractie op hoe een bepaalde entiteit kan worden gebruikt, in plaats van hoe het wordt geïmplementeerd. Abstractie verbergt in hoofdzaak de implementatie details, zodat zelfs als de implementatie methodologie over de tijd verandert, zou de programmeur zich geen zorgen moeten maken over hoe het zijn programma zou beïnvloeden. Een systeem kan worden opgevangen in verschillende lagen of niveaus. Bijvoorbeeld, op laag niveau abstractie lagen zullen hardware details onthullen, terwijl high-level abstractie alleen de zakelijke logica van de entiteit zal onthullen. De term abstractie kan gebruikt worden om zowel een entiteit als een proces te verwijzen en dit leidt tot verwarring. Als proces betekent abstractie essentiële details, terwijl de inessentiële details van een item of een groep objecten worden genegeerd, terwijl als een entiteit abstractie een model of een weergave van een entiteit betekent die alleen de essentiële details bevat.In Java kan de programmeur het trefwoord abstract gebruiken om een ​​klasse te definiëren als een abstracte entiteit, die de essentiële definerende karakteristieken van een echte wereldentiteit vertegenwoordigt.

Wat is het verschil tussen Encapsulation en Abstraction?

Hoewel Encapsulation and Abstraction zeer verwante begrippen zijn gevonden in Object Oriented Programming talen, hebben ze belangrijke verschillen. Abstractie is een techniek die ons helpt om te identificeren wat zichtbaar moet zijn en wat er verborgen moet zijn. Encapsulation is de technieken voor het verpakken van de informatie zodanig dat het zichtbaar maakt wat zichtbaar moet zijn en verbergen wat er verborgen moet zijn. Met andere woorden, Encapsulation kan worden geïdentificeerd als een stap verder dan abstractie. Terwijl abstractie een echte wereldobject verlaagt aan zijn essentiële bepalende eigenschappen, verruimt inkapseling dit idee door modellering en het koppelen van deze functionaliteit van die entiteit.