Unterschied zwischen Abstraktion und Verkapselung Unterschied zwischen

Anonim

ist, können Sie reale Objekte in Programme und Codes implementieren. Während beide Hand in Hand gehen, unterscheiden sie sich sehr voneinander. Während jede Methode eine Kapselung ist, ist es auch eine Abstraktion. In einfachen Worten, wenn Sie verschiedene Dinge zusammenbringen, um eine Entität zu erstellen, erstellen Sie tatsächlich ein Konzept - eine Zusammenfassung. Während beide technisch untrennbar sind, haben sie buchstäblich nichts gemeinsam. Es ist fast wahr, dass jede Kapselung eine Abstraktion ist, weil sie beide etwas verbergen, aber sie haben ihren gerechten Anteil an Unterschieden.

Was ist Abstraktion?

Abstraktion ist ein grundlegendes OOP-Konzept, das sich nur auf die relevanten Daten eines Objekts konzentriert und alle irrelevanten Details versteckt, die für generisches oder spezialisiertes Verhalten sein können oder auch nicht. Es versteckt die Hintergrunddetails und betont die wesentlichen Punkte, um die Komplexität zu reduzieren und die Effizienz zu steigern. Grundsätzlich ist Abstraktion ein Programmierwerkzeug, um Komplexität zu verwalten. Abstraktion konzentriert sich auf Ideen und nicht auf Ereignisse. Es verbirgt die Details auf der Entwurfsebene, indem es den Benutzern Funktionalität bereitstellt. Das resultierende Objekt kann auch als Abstraktion bezeichnet werden. Der Programmierer stellt sicher, dass die benannte Entität alle wesentlichen Aspekte enthält und keine der irrelevanten.

Nehmen wir ein Beispiel aus der Praxis der Abstraktion. Betrachten wir den Fall eines Fahrzeugs, das in diesem Fall Ihr Fahrzeug ist. Ein Mechaniker versucht, Ihr Auto zu reparieren oder sagen wir einen bestimmten Teil Ihres Autos. Hier sind Sie der Nutzer und Sie wollen nicht in die Details Ihres Autos einsteigen oder welchen Teil tatsächlich brach. Sie interessieren sich nicht wirklich für diese Dinge; Sie möchten nur Ihr Fahrzeug in seinem ursprünglichen Zustand zurück, ohne sich um die Details zu kümmern. Also haben Sie dem Mechaniker gesagt, was Sie wollen, indem Sie den Implementierungsteil trennen. Das ist Abstraktion. Sie haben sich auf das Wesentliche konzentriert, nämlich Ihr Auto zu reparieren, anstatt sich auf die Besonderheiten zu konzentrieren.

Was ist Kapselung?

Encapsulation ist ein weiteres OOP-Konzept, das Daten und Funktionen in einer einzigen Komponente bindet und den Zugriff auf einige Komponenten einschränkt. Es ist eines der grundlegenden Konzepte von OOP, das Daten und Informationen in einer einzigen Einheit vereint. In technischer Hinsicht bedeutet Einkapselung, dass Attribute verborgen werden, um Variablen vor einem Zugriff von außen zu schützen, so dass sich Änderungen in einem Teil einer Anwendung nicht auf die anderen Teile auswirken. Im Gegenteil, wenn Sie die Informationen offener machen, riskieren Sie den Missbrauch von Daten. Es bietet grundlegende Integrität für die Daten durch den Schutz vor der Außenwelt. In einfachen Worten verbirgt es die zusätzlichen Details von der Außenwelt.

Nehmen wir ein Beispiel für eine Bluetooth-Maus.Sie müssen nur über das Verhalten des Geräts Bescheid wissen, ohne sich Gedanken zu machen, welche Art von Sensoren die Maus hat, ob sie drahtlos ist oder nicht. Jedes einzelne Detail beschreibt die Maus, aber unabhängig von den Details ist es nur eine Maus. Sie brauchen nur eine Schnittstelle, um die Maus zu benutzen, in diesem Fall der Mauszeiger. Dies ist die Kapselung.

Unterschied zwischen Abstraktion und Verkapselung

Beide sind grundlegende Konzepte in Bezug auf OOP und sie sind technisch untrennbar, aber sie haben immer noch ihre Unterschiede in vielen Aspekten.

  1. Unterschiede in der "Definition" von Abstraktion und Verkapselung - Abstraktion ist ein fundamentales OOP-Konzept, das alle wesentlichen Aspekte eines Objekts hervorhebt, indem es die irrelevanten Details versteckt, um die Effizienz zu erhöhen und Komplexität zu eliminieren. Die Verkapselung hingegen ist ein Mechanismus zum Verbergen von Daten, der die Daten und Informationen in einer Kapsel verpackt, um den Zugriff von außen zu beschränken.
  2. Unterschiede in "Funktionalität" von Abstraktion und Verkapselung - Abstraktion ist ein Mechanismus zum Verbergen von Daten, der nur die wesentlichen Merkmale hervorhebt, um komplexe Programme zu vereinfachen, während die Verkapselung andererseits eine Methode der Bindung ist Daten und Codes in einer einzigen Einheit. Die Idee besteht darin, die Implementierungsdetails vor einem externen Zugriff zu schützen.
  3. Unterschiede in der "Implementierung" von Abstraktion und Kapselung - Abstraktion wird mit abstrakter Klasse und Schnittstelle implementiert, während die Kapselung mit Zugriffsmodifikatoren implementiert wird. Es werden fünf Typen von Modifikatoren zum Einkapseln von Daten verwendet: Privat, Öffentlich, Intern, Geschützt und Geschützt Intern.
  4. Unterschiede im "Konzept" von Abstraktion und Verkapselung - Die Idee hinter der Abstraktion ist es, sich auf das zu konzentrieren, was nicht wie. Die Verkapselung verbirgt die internen Mechanismen, wie. Zum Beispiel, wenn Sie ein Auto fahren, wissen Sie genau, was das Bremspedal tut, aber Sie können nicht den ganzen Mechanismus dahinter wissen, weil die Daten gekapselt sind.
  5. Unterschiede in "Beispiel" für Abstraktion und Verkapselung - Nehmen wir ein Beispiel für ein Smartphone. Sie wissen, was es tut, aber Sie können nicht wissen, wie es tut, was es tut. Sie kümmern sich nur um den Bildschirm und die Tasten der Tastatur, anstatt sich um die inneren Schaltkreise zu sorgen. Hier ist Smartphone eine Zusammenfassung, in der die inneren Implementierungsdetails gekapselt sind.

Abstraktion vs. Verkapselung mit der Vergleichstabelle

Abstraktion Verkapselung
Es werden nur die relevanten Details behandelt, indem die Irrelevanten verborgen werden, um die Komplexität zu reduzieren und damit die Effizienz zu erhöhen. Er bindet die Daten und Informationen in einer einzigen Einheit zusammen, um die Daten vor externen Quellen zu schützen.
Es bezieht sich auf die Idee, Daten zu verstecken, die für Präsentationszwecke nicht benötigt werden. Es verbirgt die Daten und den Code, um unerwünschten Zugriff zu beschränken.
Es konzentriert sich auf was anstatt wie. Es verbirgt die interne Mechanik, wie es etwas macht.
Es verbirgt die unnötigen Details auf der Design-Ebene. Es verbirgt auch die Details, aber auf der Implementierungsebene.
Informationen und Daten werden von den relevanten Daten getrennt. Die Informationen sind in einer Kapsel für einen engen Zugriff verborgen.
Es handelt sich um Ideen und nicht um Ereignisse. Die Idee ist, die Daten vor der Außenwelt zu schützen.
Es ist implementiert mit abstrakten Klasse und Schnittstelle. Es wurde mit geschützten, privaten und paket-privaten Zugriffsmodifizierern implementiert.

Zusammenfassung

Obwohl beide OOP-Konzepte im Zusammenhang mit dem Verstecken von Daten sind, unterscheiden sie sich sehr stark voneinander. Abstraktion bezieht sich auch auf das Verbergen wie die Verkapselung, aber während die erstere die Komplexität verbirgt, behält letztere die Daten, die sie kapselt, indem sie den Zugriff auf sie steuert. Abstraktion bezieht sich auf das Konzept, nur die notwendigen Merkmale darzustellen, indem die irrelevanten Details verborgen werden, um die Komplexität einer Anwendung zu reduzieren und dadurch die Effizienz zu erhöhen. Die Verkapselung dagegen bezieht sich auf das Konzept, alle internen Mechanismen eines Programms zu verbergen, um die Informationen vor unerwünschten Zugriffen zu schützen. Es bindet die Daten und Informationen in einer einzigen Komponente zusammen, indem es den Zugriff auf andere Komponenten einschränkt.