Unterschied zwischen Überladen und Überschreiben in Java

Inhaltsverzeichnis:

Unterschied zwischen Überladen und Überschreiben in Java
Unterschied zwischen Überladen und Überschreiben in Java

Video: Unterschied zwischen Überladen und Überschreiben in Java

Video: Unterschied zwischen Überladen und Überschreiben in Java
Video: Java Methoden überladen und überschreiben 2024, November
Anonim

Hauptunterschied – Überladen vs. Überschreiben in Java

Objektorientierte Programmierung (OOP) ist ein wichtiges Paradigma in der Softwareentwicklung. Es ist eine Methodik zum Entwerfen eines Programms unter Verwendung von Klassen und Objekten. Eine Klasse ist eine Blaupause. Es beschreibt, was in dem Objekt enth alten sein soll. Es definiert die Eigenschaften oder Attribute und die Methoden, aus denen das Objekt bestehen soll. Daher ist ein Objekt eine Instanz einer Klasse. Diese Objekte kommunizieren mit anderen Objekten. Ein Hauptkonzept von OOP ist Polymorphismus. Es ist die Fähigkeit eines Objekts, sich auf verschiedene Weise zu verh alten. Polymorphismus wird in zwei Abschnitte eingeteilt, die überladen und überschreiben. Dieser Artikel beschreibt den Unterschied zwischen diesen beiden in Java. Der Hauptunterschied zwischen Überladen und Überschreiben in Java besteht darin, dass das Überladen die Fähigkeit ist, mehrere Methoden mit demselben Namen mit unterschiedlichen Implementierungen zu erstellen, und das Überschreiben darin besteht, eine Implementierung für eine Unterklassenmethode bereitzustellen, die bereits in der Oberklasse vorhanden ist.

Was ist Überladen in Java?

Überladen ist die Fähigkeit, mehrere Methoden mit demselben Namen und unterschiedlichen Implementierungen zu erstellen. Siehe den folgenden Java-Code.

Unterschied zwischen Überladen und Überschreiben in Java
Unterschied zwischen Überladen und Überschreiben in Java
Unterschied zwischen Überladen und Überschreiben in Java
Unterschied zwischen Überladen und Überschreiben in Java

Abbildung 01: Java-Programm, das das Überladen mit unterschiedlicher Anzahl von Argumenten erklärt

Gemäß obigem Programm enthält Klasse A zwei Methoden mit demselben Namen. Die erste Summenmethode hat zwei Parameter. Die zweite Summenmethode hat drei Parameter. Beim Erstellen eines Objekts vom Typ A und Aufrufen von sum(2, 3) wird die Methode sum mit zwei Parametern aufgerufen, die sum(int a, int b) sind, und gibt 5 zurück. Beim Erstellen eines Objekts vom Typ A und Aufrufen von sum(2, 3, 4), ruft es die andere sum-Methode mit drei Parametern auf, nämlich sum(int a, int b, int c) und gibt 9 zurück.

Der Methodenname ist derselbe, aber die Anzahl der Parameter ist unterschiedlich. Es kann beobachtet werden, dass sich dasselbe Objekt unterschiedlich verhält. Dieses Konzept wird als Überladen bezeichnet. Es wird auch als Static Binding oder Compiles Time Polymorphism bezeichnet.

Es kann auch mit verschiedenen Datentypen überladen werden. Siehe den folgenden Java-Code.

Unterschied zwischen Überladen und Überschreiben in Java_Abbildung 02
Unterschied zwischen Überladen und Überschreiben in Java_Abbildung 02
Unterschied zwischen Überladen und Überschreiben in Java_Abbildung 02
Unterschied zwischen Überladen und Überschreiben in Java_Abbildung 02

Abbildung 02: Java-Programm, das das Überladen mit unterschiedlicher Anzahl von Argumenten erklärt

Gemäß obigem Programm besteht die Klasse A aus zwei Methoden mit demselben Namen. Die Methode sum(int a, int b) erhält zwei ganzzahlige Werte. Die Summe (double a double b) erhält zwei Double-Werte. Beim Erstellen des Objekts vom Typ A und Aufrufen von sum(2, 3) wird sum(int a, int b) aufgerufen und der Wert 5 zurückgegeben. Beim Aufrufen von sum(3.4, 5.6) wird sum(double a double aufgerufen b) und den Wert 9,0 zurückgeben. In diesem Beispiel haben die Methoden denselben Namen, aber einen anderen Variablentyp. Auch das ist überladen.

Was wird in Java überschrieben?

In Java ist es möglich, Unterklassen mit bereits existierenden Klassen zu bauen. Anstatt die neue Klasse von Anfang an zu erstellen, ist es möglich, die Eigenschaften und Methoden der bereits vorhandenen Klasse zu verwenden. Die vorhandene Klasse ist die Oberklasse und die abgeleitete Klasse ist die Unterklasse. Wenn die Unterklasse eine Implementierung für eine Methode bereitstellt, die sich bereits in der Oberklasse befindet, wird dies als Überschreiben bezeichnet. Siehe untenstehendes Java-Programm.

Hauptunterschied zwischen Überladen und Überschreiben in Java
Hauptunterschied zwischen Überladen und Überschreiben in Java
Hauptunterschied zwischen Überladen und Überschreiben in Java
Hauptunterschied zwischen Überladen und Überschreiben in Java

Abbildung 03: Java-Programm zum Überschreiben

Gemäß obigem Programm hat Klasse A eine Methode display(). Klasse B erweitert sich von Klasse A, sodass Klasse B auf die Eigenschaften und Methoden von Klasse A zugreifen kann. Klasse B hat die Methode display() mit einer bestimmten Implementierung. Wenn Sie ein Objekt vom Typ A erstellen und die Anzeigemethode aufrufen, wird die Ausgabe B ausgegeben. Obwohl Klasse A eine Anzeigemethode hat, wird sie von der Anzeigemethode der Klasse B überschrieben. Die Unterklasse implementiert eine Methode, die bereits in der Oberklasse vorhanden ist.

Dieses Konzept ist eine Art Polymorphismus und wird als überschreibend bezeichnet. Es wird auch als Late Binding, Dynamic Binding, Runtime Polymorphism bezeichnet.

Was sind die Ähnlichkeiten zwischen Überladen und Überschreiben in Java?

  • Beides sind Arten von Polymorphismus.
  • Beim Überladen und Überschreiben haben Methoden denselben Namen.

Was ist der Unterschied zwischen Überladen und Überschreiben in Java?

Überladen vs. Überschreiben in Java

Überladen in Java ist die Fähigkeit, mehrere Methoden mit demselben Namen und unterschiedlichen Implementierungen zu erstellen. Überschreiben in Java bietet eine spezifische Implementierung in einer Unterklassenmethode für eine Methode, die bereits in der Oberklasse existiert.
Parameter
Beim Überladen haben die Methoden denselben Namen, aber eine unterschiedliche Anzahl von Parametern oder einen anderen Parametertyp. Beim Überschreiben haben die Methoden den gleichen Namen und die Parameter müssen gleich sein.
Themen
Überladung innerhalb der Klasse. Das Überschreiben erfolgt innerhalb der beiden Klassen, die eine Vererbungsbeziehung haben.
Synonyme
Überladen wird als kompilierter Zeitpolymorphismus bezeichnet. Überschreiben heißt Laufzeitpolymorphismus.

Zusammenfassung – Überladen vs. Überschreiben in Java

Polymorphismus ist ein wichtiges Konzept in der objektorientierten Programmierung. Es bietet einem Objekt die Möglichkeit, sich auf verschiedene Weise zu verh alten. Dies kann entweder ein Überladen oder ein Überschreiben sein. Überladen ist der Polymorphismus zur Kompilierzeit, und Überschreiben ist der Polymorphismus zur Laufzeit. Sie sind nützlich bei der Entwicklung von Softwareanwendungen. Der Unterschied zwischen Überschreiben und Überladen besteht darin, dass Überladen die Fähigkeit ist, mehrere Methoden mit demselben Namen mit unterschiedlichen Implementierungen zu erstellen, und Überschreiben eine spezifische Implementierung in einer Unterklassenmethode für eine Methode bereitstellt, die bereits in der Oberklasse vorhanden ist. Es ist möglich, sowohl Überladen als auch Überschreiben in Java zu implementieren.

Laden Sie die PDF-Datei Überladen vs. Überschreiben in Java herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter. Unterschied zwischen Überladen und Überschreiben in Java

Empfohlen: