Was ist der Unterschied zwischen Abstraktion und Vererbung?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Abstraktion und Vererbung ist das Abstraktion ermöglicht es, die internen Details zu verbergen und den Benutzern nur die Funktionalität anzuzeigen, während die Vererbung die Verwendung von Eigenschaften und Methoden einer bereits vorhandenen Klasse ermöglicht.

Objektorientierte Programmierung (OOP) ist ein wichtiges Programmierparadigma. Es ermöglicht den Entwicklern, reale Szenarien mit einer Reihe von Objekten einfach zu modellieren. Viele moderne Programmiersprachen wie Java und C# unterstützen OOP. Klasse und Objekt sind die Bausteine ​​eines OOP-Programms. Eine Klasse ist eine Blaupause, während ein Objekt eine Instanz einer Klasse ist. Darüber hinaus gibt es Säulen von OOP. Zwei davon sind Abstraktion und Vererbung.

Abstraktion, Abstrakte Klasse, Vererbung, Schnittstelle, Objekt, OOP

Was ist Abstraktion?

Abstraktion ist die Methode, die internen Details zu verbergen und den Benutzern nur die Funktionalität anzuzeigen. Mit anderen Worten, der Benutzer oder die Außenwelt sieht die internen Implementierungsdetails nicht. Stattdessen sieht er nur die Funktionalität. Das Abstraktionskonzept ähnelt dem folgenden Beispiel. Nehmen Sie beispielsweise eine Fernbedienung an. Es besteht aus einer Reihe von Tasten zur Bedienung. Der Benutzer kann die Kanäle ändern, die Lautstärke erhöhen, die Helligkeit ändern usw. Er muss nicht über die interne Schaltung des Controllers Bescheid wissen, um zu funktionieren. Abstraktion ist ähnlich.

Programmiersprachen wie Java unterstützen Abstraktion. Der Programmierer kann Abstraktion unter Verwendung von Konzepten wie abstrakte Klasse und Schnittstelle implementieren. Erstens kann eine abstrakte Klasse aus abstrakten und nicht abstrakten Methoden bestehen. Eine Klasse, die eine abstrakte Klasse erweitert, muss die Implementierungen für die abstrakten Methoden bereitstellen. Zweitens ist eine Schnittstelle eine Sammlung abstrakter Methoden. Es hat keine nicht-abstrakten Methoden. Daher muss die Klasse, die eine Schnittstelle implementiert, die Implementierungen oder Methodendefinitionen für alle abstrakten Methoden in der Schnittstelle bereitstellen. Insgesamt trägt die Abstraktion dazu bei, die Komplexität des Systems zu reduzieren.

Was ist Vererbung?

Vererbung ist die Methode, Eigenschaften und Methoden einer bereits vorhandenen Klasse in einer neuen Klasse zu verwenden. Die vorhandene Klasse ist die Eltern- oder Superklasse, während die neue Klasse die Kind- oder Unterklasse ist. Der Entwickler muss den Code nicht von Anfang an schreiben. Stattdessen kann er den bereits vorhandenen Code verwenden und den Rest entwickeln. Daher ermöglicht die Vererbung die Wiederverwendbarkeit des Codes.

Es gibt verschiedene Arten von Erbschaften. Sie sind wie folgt.

Einstufige Vererbung – Wenn A und B zwei Klassen sind und B A erbt, handelt es sich um eine einstufige Vererbung.

Mehrstufige Vererbung – Es gibt eine Zwischenklasse. Es gibt drei Klassen namens A, B und C. B erbt von A und C erbt von B.

Mehrfachvererbung – Wenn A, B und C drei Klassen sind und C sowohl von A als auch von B erbt, dann handelt es sich um Mehrfachvererbung.

Hierarchische Vererbung – Wenn A, B und C drei Klassen sind und B und C von A erben, dann handelt es sich um eine hierarchische Vererbung.

Hybride Vererbung – Es ist eine Kombination aus mehrstufigen und mehrfachen Vererbungen.

Unterschied zwischen Abstraktion und Vererbung

Definition

Abstraktion ist ein OOP-Konzept, das die Implementierungsdetails verbirgt und dem Benutzer nur die Funktionalität zeigt. Im Gegensatz dazu ist Vererbung die Methode zum Erstellen einer neuen Klasse unter Verwendung der Eigenschaften und Methoden einer vorhandenen Klasse. Dies spiegelt also den Hauptunterschied zwischen Abstraktion und Vererbung wider.

Hauptverwendung

Abschluss

Insgesamt sind Abstraktion und Vererbung völlig unterschiedliche OOP-Konzepte und bieten unterschiedliche Verwendungsmöglichkeiten. Der Hauptunterschied zwischen Abstraktion und Vererbung besteht darin, dass die Abstraktion es ermöglicht, die internen Details zu verbergen und den Benutzern nur die Funktionalität anzuzeigen, während die Vererbung die Verwendung von Eigenschaften und Methoden einer bereits vorhandenen Klasse ermöglicht.

Verweise:

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

Bild mit freundlicher Genehmigung:

1. „Vererbungsdiagramm“ Von Pluke – Eigene Arbeit (CC0) über Commons Wikimedia.

Was ist der Unterschied zwischen Abstraktion und Vererbung?