Unterschied zwischen Einkapselung und Abstraktion

Unterschied zwischen Einkapselung und Abstraktion

Einkapselung gegen Abstraktion

Einkapselung und Abstraktion sind zwei verschiedene, aber verwandte Konzepte, die in OOP -Sprachen (objektorientierte Programmierung) zu finden sind. Die Kapselung ist das Konzept, Daten und Verhalten als einzelne Einheit miteinander zu kombinieren. Auf der anderen Seite ist die Abstraktion der Prozess, wie sich ein Unternehmen verhält, im Gegensatz zu der Implementierung.

Was ist Kapselung?

Die Kapselung ist der Prozess des Umwickelns von Daten und Betrieb, die sie in eine einzelne Entität betreiben. Dies bedeutet im Wesentlichen, dass bestimmte vordefinierte Methoden verwendet werden sollten, um auf Daten zuzugreifen. Mit anderen Worten sind eingekapselte Daten nicht direkt zugänglich. Dies stellt sicher, dass die Integrität der Daten erhalten bleibt, da der Benutzer nicht direkt auf die Daten zugreifen und diese ändern kann. Die Benutzer erhalten oder setzen die Datenwerte nur über die Methoden, die den Benutzern öffentlich zur Verfügung stehen. Diese Methoden liefern normalerweise Datenvalidierung, so dass nur die Daten im entsprechenden Format in die Felder eingefügt werden dürfen. Daher sind die Vorteile der Einkapselung dreifach. Durch die Kapselung kann der Programmierer Felder einer schreibgeschützten Klasse erstellen oder nur schreiben. Zweitens kann eine Klasse die totale Kontrolle über das haben, was in ihren Feldern gespeichert ist. Schließlich müssen die Benutzer einer Klasse keine Sorgen machen, wie ihre Daten gespeichert werden. In Java kann der Programmierer alle Instanzvariablen als privat erklären und GET & SET -Methoden (die öffentlich sind) für den Zugriff auf und ändern Sie auf die privaten Felder.

Was ist Abstraktion?

Abstraktion ist der Prozess der Trennung der Präsentationsdetails von den Implementierungsdetails. Dies geschieht, damit der Entwickler von den komplexeren Implementierungsdetails entlastet ist. Stattdessen kann sich der Programmierer auf die Präsentation oder die Verhaltensdetails der Entität konzentrieren. In einfachen Worten konzentriert sich die Abstraktion darauf, wie eine bestimmte Entität verwendet werden kann, anstatt wie sie implementiert wird. Die Abstraktion verbirgt die Implementierungsdetails im Wesentlichen, sodass der Programmierer selbst, wenn sich die Implementierungsmethodik im Laufe der Zeit ändert. Ein System kann in mehreren Schichten oder Ebenen abstrahiert werden. Zum Beispiel werden Abstraktionsschichten auf niedriger Ebene Hardwaredetails enthüllen, während eine hochrangige Abstraktion nur die Geschäftslogik der Entität enthüllt. Der Begriff Abstraktion kann verwendet werden, um sich sowohl auf eine Entität als auch auf einen Prozess zu beziehen, und dies führt zu einer gewissen Verwirrung. Als Prozess bedeutet Abstraktion, wesentliche Details zu extrahieren und gleichzeitig die unwessten Details eines Elements oder einer Gruppe von Elementen zu ignorieren. Als Entität bedeutet Abstraktion ein Modell oder eine Ansicht einer Entität mit nur den wesentlichen Details. In Java kann der Programmierer das Keyword -Abstract verwenden, um eine Klasse als abstrakt.

Was ist der Unterschied zwischen Kapselung und Abstraktion?

Obwohl Kapselung und Abstraktion stark verwandte Konzepte sind, die in objektorientierten Programmiersprachen gefunden werden, haben sie wichtige Unterschiede. Abstraktion ist eine Technik, die uns hilft zu identifizieren, was sichtbar sein sollte und was versteckt sein sollte. Einkapselung sind die Techniken zum Verpacken der Informationen, so dass sie sichtbar macht, was sichtbar sein sollte, und verbirgt, was verborgen werden soll. Mit anderen Worten kann die Kapselung als einen Schritt über die Abstraktion hinaus identifiziert werden. Während die Abstraktion ein reales Objekt auf ihre wesentlichen definierenden Eigenschaften reduziert, erweitert die Kapselung diese Idee, indem diese Funktionalität dieser Entität modelliert und verknüpft wird.