Unterschied zwischen Überladen und Überschreiben in Java | Unterschied Zwischen | natapa.org

Unterschied zwischen Überladen und Überschreiben in Java




Hauptunterschied: Überladen bedeutet, zwei Methoden derselben Klasse mit demselben Namen und verschiedenen Parametertypen zu haben, während Überschreiben zwei unterschiedliche Methoden in derselben Klasse mit denselben Parametertypen, aber unterschiedlichen Implementierungen bedeutet.

Die Methoden zum Überschreiben und Überladen sind zwei Konzepte oder Techniken, die in Java-Programmiersprachen verwendet werden. Beide Konzepte ermöglichen es dem Programmierer, verschiedene Implementierungen für Methoden unter demselben Namen bereitzustellen. In diesem Artikel werden die beiden Konzepte der Programmierung unterschieden.

Überladen von Funktionen oder Überladen von Methoden ermöglicht das Erstellen mehrerer Methoden mit demselben Namen in derselben Klasse, die sich jedoch in der Eingabe und im Ausgabetyp der Funktion unterscheiden. Es wird einfach als die Fähigkeit einer Funktion definiert, verschiedene Aufgaben auszuführen.

Beim Überladen haben die Methodenimplementierungen denselben Namen, weil sie ähnliche Aufgaben ausführen. Überladung wird auch als polymorph betrachtet. Die Funktionen mit unterschiedlichen Implementierungen hängen von ihren angegebenen Argumenttypen ab. Es ist normalerweise mit statischen Programmiersprachen verbunden, die die Typüberprüfung in Funktionsaufrufen erzwingen. Es wird auch als praktisch betrachtet, da es dem Programmierer ermöglicht, eine Reihe verschiedener Methoden in derselben Klasse zu schreiben. Beim Überladen ändert der Laufzeitprozessor jedoch den Namen aller überladenen Methoden, was ein Problem darstellen kann.

Das Überschreiben von Methoden in der objektorientierten Programmierung ist eine Funktion, mit der eine Unterklasse oder Unterklasse eine bestimmte Implementierung einer Methode bereitstellen kann, die bereits von einer ihrer übergeordneten Klassen oder übergeordneten Klassen bereitgestellt wird. Die Implementierung in der Unterklasse überschreibt oder ersetzt die Implementierung in der übergeordneten Klasse, indem eine Methode mit demselben Namen, denselben Parametern oder Signatur und demselben Rückgabetyp bereitgestellt wird wie die Methode in der übergeordneten Klasse.

Beim Überschreiben der Methode werden die Funktionen so codiert, dass sie bestimmte Aufgaben in einem Programm ausführen. Das Überschreiben hängt vom Vorhandensein einer Basisklassenfunktion für ihr Aussehen ab. Hier wird die ausgeführte Funktion durch das Objekt bestimmt, mit dem sie aufgerufen wird, d. H.Wenn ein Objekt einer übergeordneten Klasse zum Aufrufen der Methode verwendet wird, wird die Funktion in der übergeordneten Klasse ausgeführt. Das Überschreiben ist von Natur aus polymorph; Es hilft, Programme basierend auf dem ersten impliziten Parameter zu entwerfen, der zur Laufzeit aufgelöst werden kann. Es gibt einige Sprachen in Java, mit denen ein Programmierer verhindern kann, dass eine Methode überschrieben wird.

Vergleich zwischen Überladen und Überschreiben:

Überlastung

Überschreiben

Definition

Das bedeutet, Methoden derselben Klasse unter demselben Namen zu haben, aber jede Methode hat andere Parameter oder dieselben Parameter mit unterschiedlichen Typen und Reihenfolge.

Dies bedeutet, dass eine Unterklasse mit denselben Methoden unter demselben Namen und genau demselben Parametertyp und demselben Rückgabetyp wie eine Oberklasse vorhanden ist.

Bedeutung

Dies bedeutet, dass mehrere Methoden denselben Namen in derselben Klasse verwenden, jedoch eine andere Signatur haben.

Dies bedeutet, dass die Methode der Basisklasse in der abgeleiteten Klasse mit derselben Signatur neu definiert wird.

Verhalten

Es ergänzt oder erweitert das Verhalten der Methoden.

Es ändert das vorhandene Verhalten einer Methode.

Polymorphismus

Es ist ein Kompilierzeitpolymorphismus.

Es ist ein Laufzeitpolymorphismus.

Statische Methode

Die statische Methode kann überladen werden.

Die statische Methode kann nicht überschrieben werden.

Bindung

Statische Bindung

Dynamische Bindung

Erbe

Es kann Erbschaft erfordern oder nicht.

Es erfordert immer Vererbung.

Verband

Es ist normalerweise mit statischen Programmiersprachen verbunden.

Es ist normalerweise mit objektorientierten Programmen verbunden.

Unterschrift

Methoden haben unterschiedliche Signatur.

Methoden müssen dieselbe Signatur haben.

Geschwindigkeit

Es ist schneller als das Überschreiben.

Es ist langsam im Vergleich zur Überladung.

Klassen

Es erfordert nicht mehr als eine Klasse zum Überladen.

Es erfordert mindestens zwei Klassen zum Überladen.

Niveau

Methoden können eine beliebige Zugriffsebene haben.

Methoden haben die gleiche oder breite Zugriffsebene.

Beispiel

Klasse hinzufügen

{

int sum (int a, int b)

{

return a + b;

}

int sum (int a)

{

Rückkehr a + 10;

}

}

Klasse A // Superklasse

{

Anzeige ungültig (int num)

{

print num;

}

}

// Klasse B erbt Klasse A

Klasse B // Unterklasse

{

Anzeige ungültig (int num)

{

print num;

}

}

Vorheriger Artikel

Unterschied zwischen Windows 7 und Windows XP

Nächster Artikel

Unterschied zwischen iPhone 6 und iPhone 5S