Was ist der Unterschied zwischen Data Hiding und Abstraktion?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Datenverstecken und Abstraktion ist das Data Hiding hilft, Daten zu schützen, während Abstraktion hilft, die Komplexität des Systems zu verbergen.

Objektorientierte Programmierung (OOP) ist ein Paradigma, das hilft, Lösungen für die realen Szenarien einfacher zu erstellen, als andere Paradigmen wie strukturierte Programmierung zu verwenden. OOP basiert auf dem Entwerfen des Programms unter Verwendung von Klassen und Objekten. Eine Klasse ist ein Plan oder eine Blaupause zum Erstellen von Objekten. Es enthält Attribute und Methoden. Attribute sind die Datenmember, die die Eigenschaften des Objekts beschreiben. Methoden beschreiben die Verhaltensweisen. Objekte werden mithilfe von Klassen erstellt. Datenverstecken und Datenabstraktion sind zwei wichtige Konzepte in OOP.

Abstraktion, Klasse, Data Hiding, Objekte, OOP

Was ist Datenverstecken?

Eine Klasse besteht aus Datenelementen und Methoden. Das Ausblenden von Daten hilft, die Mitglieder einer Klasse zu schützen. Programmiersprachen wie Java haben Zugriffsmodifikatoren wie public, private und protected. Objekte anderer Klassen können auf öffentliche Datenmember und Methoden zugreifen. Auf geschützte Member können jedoch die Objekte derselben Klasse und ihrer Unterklassen zugreifen. Darüber hinaus sind private Mitglieder nur innerhalb der Klasse zugänglich. Daher helfen diese Zugriffsmodifikatoren, die Mitglieder zu schützen.

Wenn es erforderlich ist, Objekte anderer Klassen vom Zugriff auf die Mitglieder einer Klasse zu beschränken, kann der Programmierer den privaten Zugriffsmodifizierer verwenden. Dann sind die Datenmember nur innerhalb der Klasse zugänglich. Es ist auch möglich, die Datenmember privat zu machen und den Zugriff auf sie über öffentliche Methoden (Getter und Setter) zu ermöglichen.

Kapselung ist ein wichtiges Konzept in OOP. Es verpackt die Datenelemente und Methoden in eine einzelne Einheit. Darüber hinaus ist es eine Möglichkeit, das Verstecken von Daten zu erreichen. Insgesamt trägt das Ausblenden von Daten dazu bei, die Mitglieder der Klasse zu schützen.

Was ist Abstraktion?

Abstraktion verbirgt die internen Details und zeigt den Benutzern nur die Funktionalität an. Mit anderen Worten, es verbirgt die Implementierungsdetails und präsentiert die Funktionalität nach außen. Nehmen Sie beispielsweise eine reale Anwendung wie ein Mobiltelefon an. Der Benutzer muss die interne Struktur und Schaltung des Mobiltelefons nicht verstehen, um Anrufe entgegenzunehmen, SMS zu senden, Spiele zu spielen oder im Internet zu surfen.

In OOP-unterstützenden Programmiersprachen wie Java ist es möglich, Abstraktion mit abstrakten Klassen und Schnittstellen zu implementieren. Eine abstrakte Klasse kann abstrakte und nicht abstrakte Methoden haben. Eine Klasse, die eine abstrakte Klasse erweitert, sollte die Definitionen für die abstrakten Methoden bereitstellen. Darüber hinaus sind alle Methoden in einer Schnittstelle abstrakte Methoden. Daher sollte eine Klasse, die eine Schnittstelle implementiert, die Definitionen für all diese abstrakten Methoden bereitstellen.

Unterschied zwischen Data Hiding und Abstraktion

Definition

Data Hiding ist der Prozess, der den exklusiven Datenzugriff für Klassenmitglieder sicherstellt und die Objektintegrität gewährleistet, indem unbeabsichtigte oder beabsichtigte Änderungen verhindert werden. Abstraktion hingegen ist ein OOP-Konzept, das die Implementierungsdetails verbirgt und dem Benutzer nur die Funktionalität zeigt. Dies ist also der Hauptunterschied zwischen Datenverstecken und Abstraktion.

Haupt Augenmerk

Während sich Data Hiding auf den Schutz von Daten konzentriert, konzentriert sich die Abstraktion darauf, die Komplexität des Systems zu verbergen. Daher ist dies ein weiterer Unterschied zwischen Datenverstecken und Abstraktion.

Verwendungszweck

Abschluss

Data Hiding und Abstraktion sind zwei Konzepte im Zusammenhang mit OOP. Das Verstecken von Daten sichert die Datenelemente. Die Kapselung wird verwendet, um das Verbergen von Daten zu erreichen. Andererseits hilft Abstraktion, die Komplexität des Systems zu reduzieren. Es schränkt auch den Zugriff auf die internen Details ein und zeigt dem Benutzer die wesentlichen Funktionen der Software. Der Hauptunterschied zwischen Data Hiding und Abstraktion besteht darin, dass Data Hiding hilft, Daten zu sichern, während Abstraktion hilft, die Komplexität des Systems zu verbergen.

Referenz:

1. „Abstrakte Klasse in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. „Kapselung in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.

Bild mit freundlicher Genehmigung:

1. „CPT-OOP-Objekte und Klassen“ Von Pluke – Eigene Arbeit, (CC0) über Commons Wikimedia

Was ist der Unterschied zwischen Data Hiding und Abstraktion?