Was ist der Unterschied zwischen Vererbung und Polymorphismus in Java?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Vererbung und Polymorphismus in Java ist das Vererbung ermöglicht es einer Klasse, die Eigenschaften und Methoden einer bereits existierenden Klasse zu verwenden, während Polymorphismus es einem Objekt ermöglicht, sich auf verschiedene Weise zu verhalten.

Objektorientierte Programmierung (OOP) ist ein gängiges Programmierparadigma in der Softwareentwicklung. Es hilft, reale Szenarien mithilfe von Objekten zu modellieren. Java ist eine Programmiersprache, die OOP unterstützt. Eine Klasse ist eine Blaupause und hilft beim Erstellen von Objekten. Eine Klasse hat Attribute und Verhaltensweisen. Die Attribute werden auch als Eigenschaften bezeichnet, während Verhaltensweisen auch als Methoden bezeichnet werden. Zwei Hauptpfeiler von OOP sind Vererbung und Polymorphismus.

Klasse, Vererbung, Überladung, Überschreibung, Polymorphismus, Java

Was ist Vererbung in Java?

Vererbung in Java ist der Mechanismus, der es einer Klasse ermöglicht, Eigenschaften und Verhaltensweisen einer bereits vorhandenen Klasse zu verwenden. Die bereits vorhandene Klasse ist die Elternklasse oder Superklasse. Die neue Klasse, die die Eigenschaften und Methoden erbt, wird als untergeordnete Klasse oder Unterklasse bezeichnet. Der Hauptvorteil von Vererbung besteht darin, dass Code wiederverwendbar ist. Ein Beispielprogramm ist wie folgt.

Abbildung 1: Klasse A

Abbildung 2: Klasse B

Abbildung 3: Klassentest

Klasse A hat die Methodensumme und fügt zwei Werte hinzu. Klasse B erweitert A. Sie hat eine Methode namens sub. Es subtrahiert zwei Werte. Die Testklasse hat die Hauptmethode. Das ‚obj‘ist ein Objekt vom Typ B. Da Klasse B Klasse A erbt, kann das Objekt die Eigenschaften und Methoden der Klasse A verwenden. Daher kann das Objekt sowohl Summen- als auch Untermethoden aufrufen.

Was ist Polymorphismus in Java?

Polymorphismus in Java bezieht sich auf ein Objekt, das in verschiedenen Phasen seines Lebenszyklus unterschiedliche Verhaltensweisen zeigt. Es gibt hauptsächlich zwei Arten des Polymorphismus als Überladen und Überschreiben.

Überlastung

Das Überladen erlaubt die Methoden in derselben Klasse oder Unterklassen mit demselben Namen, aber mit unterschiedlichen Parametern. Es wird auch als „statische Bindung“ und „Kompilierungszeit-Polymorphismus“ bezeichnet. Ein Beispielprogramm ist wie folgt.

Abbildung 4: Java-Programm mit Overriding

Die überladende Klasse hat zwei Methoden mit demselben Namen wie Summe. Die Summenmethode in Zeile 5 benötigt keine Parameter. Es addiert die beiden Werte 10 und 20 und gibt das Ergebnis zurück, das 30 ist. Außerdem bekommt die Summenmethode in Zeile 11 zwei Parameter. Es addiert diese beiden Werte und gibt das Ergebnis 50 zurück. Das obj ist ein Objekt in der main-Methode. Obj.sum() ruft in Zeile 5 die Methode sum auf und obj.sum(20, 30) ruft in Zeile 11 die Methode sum auf. Dasselbe Objekt ruft entsprechend die zugehörige Methode auf. Daher weist dasselbe Objekt je nach Situation unterschiedliche Verhaltensweisen auf.

Überschreiben

Das Überschreiben ermöglicht die Bereitstellung einer Implementierung für eine Methode, die bereits in ihrer Oberklasse vorhanden ist. Es wird auch „späte Bindung“, „dynamische Bindung“ und „Laufzeitpolymorphismus“ genannt. Ein Beispielprogramm ist wie folgt.

Abbildung 5: Fahrzeugklasse

Abbildung 6: Fahrzeugklasse

Abbildung 7: Testklasse

Die Fahrzeugklasse hat eine Methode namens display. Die Car-Klasse erweitert die Vehicle-Klasse und verfügt auch über eine Methode namens display mit einer eigenen Implementierung. Fahrzeug ist die Oberklasse, während Auto die Unterklasse ist. Die Testklasse hat die Hauptmethode. Das ‚c‘ist ein Objekt vom Typ Car. Beim Aufruf der Methode display sehen wir die Implementierung der Methode display in der Klasse Car. Obwohl die Oberklasse über die Methode display verfügt, wird sie von der Methode display in der Unterklasse überschrieben.

Unterschied zwischen Vererbung und Polymorphismus in Java

Definition

Vererbung ist der Mechanismus, der es einer neuen Klasse erlaubt, Eigenschaften und Methoden einer Superklasse zu verwenden, während Polymorphismus die Fähigkeit eines Objekts ist, sich auf verschiedene Weise zu verhalten. Dies ist also der Hauptunterschied zwischen Vererbung und Polymorphismus in Java.

Implementierung

Verwendungszweck

Während die Vererbung die Wiederverwendbarkeit des Codes ermöglicht, ermöglicht der Polymorphismus den entsprechenden Aufruf von Methoden zur Kompilier- und Laufzeit. Daher ist dies ein weiterer Unterschied zwischen Vererbung und Polymorphismus in Java.

Abschluss

Zwei Hauptpfeiler von OOP sind Vererbung und Polymorphismus. Der Hauptunterschied zwischen Vererbung und Polymorphismus in Java besteht darin, dass Vererbung es einer Klasse ermöglicht, die Eigenschaften und Methoden einer bereits vorhandenen Klasse zu verwenden, während Polymorphismus einem Objekt ermöglicht, sich auf verschiedene Weise zu verhalten.

Referenz:

1. „Methodenüberladung in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. „Methodenüberschreibung in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.3. „Vererbung in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.

Was ist der Unterschied zwischen Vererbung und Polymorphismus in Java?