Unterschied zwischen Übergeordneter und Überlastung

Unterschied zwischen Übergeordneter und Überlastung

Überlastung überladen

Das Überladung von Methoden und Methodenüberladen sind zwei Konzepte/Techniken/Funktionen, die in einigen Programmiersprachen zu finden sind. Beide Konzepte ermöglichen es dem Programmierer, verschiedene Implementierungen für Methoden mit demselben Namen bereitzustellen. Durch das Überschreiben von Methoden kann der Programmierer eine alternative Implementierung innerhalb einer Unterklasse für eine Methode bereitstellen, die bereits in seiner Superklasse definiert ist. Durch die Überladung des Methodens ermöglicht es dem Programmierer, mehrere Methoden mit demselben Namen unterschiedliche Implementierungen bereitzustellen (innerhalb derselben Klasse).

Was ist überschreibend?

Wie oben erwähnt, kann eine Klasse eine Superklasse oder eine übergeordnete Klasse in objektorientierten Programmiersprachen erweitern. Eine untergeordnete Klasse kann eigene Methoden haben oder optional ihre eigenen Implementierungen zu Methoden haben, die bereits in ihrer übergeordneten Klasse (oder in einer der großen Elternklassen) definiert sind, die bereits definiert sind. Wenn letzteres auftritt, wird es als Vermittlung von Methoden bezeichnet. Mit anderen Worten, wenn die untergeordnete Klasse eine Implementierung für eine Methode mit derselben Signatur und der gleichen Rückgabetyp wie eine bereits in einer seiner übergeordnete Klassen definierte Methode bietet, soll diese Methode durch die Implementierung der untergeordneten Klasse überschrieben (ersetzt) ​​werden. Wenn also in einer Klasse eine überschriebene Methode vorhanden ist, muss das Laufzeitsystem entscheiden, welche Methodenimplementierung verwendet wird. Dieses Problem wird gelöst, indem die genaue Art von Objekt untersucht wird, mit der es aufgerufen wird. Wenn ein Objekt der übergeordneten Klasse verwendet wird, um die überragende Methode aufzurufen, wird die Implementierung in der übergeordneten Klasse verwendet. In ähnlicher Weise wird die Implementierung der Kinderklasse ein Objekt der verwendeten untergeordneten Klasse der untergeordneten Klasse ist. Moderne Programmiersprachen wie Java, Eifell, C ++ und Python ermöglichen die Übersteuerung der Methode.

Was ist Überlastung?

Method -Überladung ist eine Funktion, die einige Programmiersprachen bereitstellen, um mehr als eine Methode mit demselben Namen zu erstellen, jedoch mit unterschiedlichen Eingabe- und Ausgabetypen. In modernen Programmiersprachen wie Java, C#, C ++ und VB.NET, diese Funktion ist verfügbar. Sie können eine Methode überladen, indem Sie eine andere Methode mit demselben Namen erstellen, jedoch mit einer anderen Methodensignatur oder einem anderen Rückgabetyp (oder beides). Wenn Sie beispielsweise Methode1 (Typ1 T1) und Methode1 (Typ2 T2) in derselben Klasse haben, werden sie überladen. Dann muss das System entscheiden, welches ausgeführt werden soll, wenn es aufgerufen wird. Diese Differenzierung erfolgt anhand der Art der Parameter, die an die Methode übergeben wurde. Wenn das Argument vom Typ 1 ist, wird die erste Implementierung aufgerufen, während die zweite Implementierung aufgerufen wird, wenn es vom Typ 2 ist, aufgerufen wird.

Was ist der Unterschied zwischen Übergeordnet und Überlastung?

Obwohl das Überlastung von Methoden und Methodenüberladung verwendet wird, um eine Methode mit unterschiedlichen Implementierungen bereitzustellen, gibt es wichtige Unterschiede zwischen diesen beiden Konzepten/Techniken. Zunächst bleiben Themen der Überschreitung von Methoden immer in verschiedenen Klassen, während Fächer der Methodenüberladung innerhalb derselben Klasse bleiben. Das bedeutet, dass überschreibend in objektorientierten Programmiersprachen nur möglich ist. Mit anderen Worten, Sie überschreiben eine Methode in der Superklasse, aber Sie überladen eine Methode in Ihrer eigenen Klasse.

Ein weiterer Unterschied besteht darin, dass überschriebene Methoden denselben Methodennamen, die Methodensignatur und den Rückgabetyp aufweisen. Überlastete Methoden müssen sich jedoch entweder in der Signatur oder im Rückgabetyp unterscheiden (der Name sollte gleich sein). Um zwischen zwei überschriebenen Methoden zu unterscheiden, wird der genaue Objekttyp, mit dem die verwendete Methoden -ID aufgerufen werden. Ein weiterer wichtiger Unterschied besteht darin, dass die Überladung zum Kompilierenzeitpunkt aufgelöst wird, während das Überschreiben zur Laufzeit aufgelöst wird.