Unterschied zwischen Abstraktion und Verkapselung

Abstraktion vs. Kapselung Beide sind die grundlegenden Konzepte der objektorientierten Programmierung (OOP), mit denen reale Objekte in Code und Programm implementiert werden können. Sie sind sehr unterschiedlich, da beide Hand in Hand gehen. Obwohl beide technisch untrennbar miteinander verbunden sind, haben sie buchstäblich nichts gemeinsam. Fast jede Verkapselung ist eine Abstraktion, weil beide etwas maskieren, aber einen angemessenen Anteil an Unterschieden aufweisen.

Was ist Abstraktion?

Abstraktion ist ein grundlegendes OOP-Konzept, das sich nur auf die relevanten Daten eines Objekts konzentriert und alle irrelevanten Details abdeckt, die für generisches oder spezialisiertes Verhalten verwendet werden können oder nicht. Es maskiert die Hintergrunddetails und hebt die wesentlichen Elemente hervor, um die Komplexität zu verringern und die Effizienz zu verbessern. Dies vereinfacht die Darstellung des Domänenmodells. Bei der Abstraktion geht es mehr um Ideen als um Ereignisse. Es vertuscht die Details auf Designebene, indem es den Benutzern Funktionalität bietet. Eine Abstraktion kann auch als resultierendes Objekt bezeichnet werden.

Nehmen wir ein Beispiel

Betrachten wir also das Motorrad. Ein Mechaniker versucht, Ihr Motorrad zu reparieren oder sagt einen bestimmten Abschnitt Ihres Motorrads. Sie sind der Benutzer und möchten nicht wissen, welche Motorradspezifikationen vorliegen oder welcher Teil tatsächlich defekt ist. Es ist dir egal; Sie möchten einfach, dass Ihr Motorrad im Originalzustand ist, ohne sich um die Details zu kümmern. Sie sagten dem Mechaniker, was Sie wollten, indem Sie den Implementierungsteil voneinander trennten. Dies nennt man Abstraktion. Das Wichtigste, was Sie getan haben, war, Ihr Motorrad zu reparieren, anstatt sich auf die Einzelheiten zu konzentrieren.

Was ist Verkapselung?

Ein anderes Konzept der OOP-Kapselung bindet Daten und Funktionen in eine Komponente, während der Zugriff auf bestimmte Komponenten eingeschränkt wird. Die Kapselung verbessert die Wartbarkeit Ihrer Anwendung. Dies bietet dem Benutzer viel Flexibilität bei der Verwendung des Systems. Dies erleichtert den gesamten Codierungsprozess, da Sie nur interessiert sind, was eine andere Klasse nicht tut. Dies ist eines der Hauptgrundkonzepte von OOP, bei dem Daten und Daten zu einer Einheit zusammengefasst werden. Es verleiht den Daten grundlegende Integrität, indem es sie vor der Außenwelt schützt. Es verbirgt zusätzliche Informationen aus der Außenwelt in einfachen Worten.

Nehmen wir ein Beispiel

Nur Sie müssen das Verhalten des Geräts kennen, ohne sich Gedanken darüber machen zu müssen, welche Sensoren die Tastatur hat und ob sie drahtlos ist oder nicht. Jedes Detail beschreibt die Maus, aber es ist einfach eine Tastatur, unabhängig vom Detail. Sie haben nur eine Tastaturschnittstelle, die in dieser Situation der Mauszeiger ist und die wir als Encapsulation bezeichnet haben

Head-to-Head Vergleich zwischen Abstraction und Encapsulation (Infografiken)

Unten ist der Top 6 Unterschied zwischen Abstraktion und Encapsulation

Hauptunterschiede zwischen Abstraktion und Verkapselung

Lassen Sie uns einige der Hauptunterschiede zwischen Abstraktion und Verkapselung diskutieren:

Der Hauptunterschied zwischen Abstraktion und Kapselung besteht darin, dass das Problem durch Abstraktion auf Entwurfsebene und die Anwendungsebene durch Kapselung gelöst wird. Bei der Abstraktion werden unerwünschte Informationen ausgeblendet und gleichzeitig die wichtigsten Informationen bereitgestellt, während bei der Kapselung Code und Informationen in einem Gerät verborgen werden.

Mit der Abstraktion können Sie sich auf das konzentrieren, was das Objekt tut, anstatt auf das, was es tut, während die Kapselung die inneren Details der Funktionsweise des Objekts beschreibt. Sie können es später mit einer besseren Technik ändern, wenn Sie die inneren Informationen vertraulich behandeln. Die Abstraktion konzentriert sich auf die Außenansicht, zum Beispiel das Verschieben des Autos, während sich die Kapselung auf die interne Arbeitsweise oder die Innenansicht konzentriert.

Die Abstraktion wird in Java mit der Schnittstelle und der abstrakten Klasse unterstützt, und die Kapselung wird z. B. mit öffentlichen, privaten und sicheren Zugriffsmodifikationssystemen unterstützt. Dies ist die Trennung in Java und OOP zwischen Encapsulation und Abstraction. Erinnern Sie sich daran, dass die Abstraktion das Problem in der Designebene und die Kapselung in der Ausführungsebene löst. Beides ist für einen OOP-Programmierer sehr wichtig, kann aber manchmal schwer zu erklären sein. Wie ich bereits sagte, ist das Schreiben und Lesen von Code anderer eine der besten Methoden, um objektorientiertes Programmieren zu erlernen und zu beherrschen.

Bei der Abstraktion wird die Implementierung mithilfe der Schnittstelle und der abstrakten Klasse ausgeblendet, während bei der Kapselung die Daten mithilfe von Gettern und Setzern ausgeblendet werden.

Vergleichstabelle von Abstraction vs Encapsulation

Nachfolgend finden Sie den obersten Vergleich zwischen Abstraction und Encapsulation:

Abstraktion

Verkapselung

Abstraktion funktioniert auf der DesignebeneDie Kapselung funktioniert auf Anwendungsebene
Die Abstraktion wird implementiert, um unnötige Daten zu verbergen und relevante Daten zu entfernen.Die Kapselung ist der Mechanismus, durch den der Code und die Daten vor der Außenwelt verborgen oder missbraucht werden.
Es wird hervorgehoben, was die Arbeit eines Objekts ist, anstatt wie das Objekt funktioniertEs konzentriert sich auf die inneren Details der Funktionsweise des Objekts. Änderungen können später an den Einstellungen vorgenommen werden.
Die Abstraktion konzentriert sich auf das Betrachten von außen, zum Beispiel das Bewegen des Autos.Die Kapselung konzentriert sich auf die interne Arbeit oder die innere Betrachtung, zum Beispiel die Produktion des Autos.
Abstraktion wird in Java mit der Schnittstelle und der abstrakten Klasse unterstütztDie Kapselung wird z. B. mit öffentlichen, privaten und sicheren Zugangsmodifikationssystemen unterstützt.
Kurz gesagt, die Abstraktion verbirgt die Implementierung mithilfe einer Schnittstelle und einer abstrakten Klasse.Kurz gesagt, die Kapselung verbirgt die Daten mithilfe von Gettern und Setzern.

Fazit

In diesem Artikel haben wir gesehen, was Abstraktion gegen Verkapselung ist und was sie voneinander unterscheidet. Während beide Data Hiding OOP-Ideen sind, unterscheiden sie sich ziemlich voneinander. Es maskiert die Hintergrundinformationen und hebt die kritischen Informationspunkte hervor, um die Komplexität zu verringern und die Effektivität zu verbessern. Bei neuen Anforderungen ist der gekapselte Code sehr flexibel und leicht zu ändern.

Empfohlene Artikel

Dies war ein Leitfaden für den Hauptunterschied zwischen Abstraktion und Verkapselung. Hier werden auch die Hauptunterschiede zwischen Abstraktion und Kapselung mit Infografiken und die Vergleichstabelle erörtert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Was ist C ++?
  2. CSS gegen JavaScript
  3. C gegen Python
  4. Leitfaden zur Kapselung in PHP