Contents
Wenn wir mehrere Funktionen mit demselben Namen, aber unterschiedlichen Parametern haben, werden sie als überladen bezeichnet. Diese Technik wird verwendet, um die Lesbarkeit des Programms zu verbessern. Es gibt zwei Möglichkeiten, eine Funktion zu überladen:
Das Überladen von Funktionen wird normalerweise durchgeführt, wenn wir eine einzelne Operation mit unterschiedlicher Anzahl oder Typen von Argumenten ausführen müssen.
Wenn sowohl die übergeordnete als auch die untergeordnete Klasse eine Memberfunktion mit demselben Namen und derselben Anzahl von Argumenten haben, müssen wir ein Objekt der untergeordneten Klasse erstellen und die sowohl in der untergeordneten als auch in der übergeordneten Klasse vorhandene Memberfunktion mit dem sehr . aufrufen gleichen Namen und eine gleiche Anzahl von Argumenten. Dann wird die Memberfunktion der untergeordneten Klasse aufgerufen und die Memberfunktion der Basisklasse wird ignoriert. Dieses Konzept wird als Funktionsüberschreibung bezeichnet.
Lesen Sie auch: Unterschied zwischen Kompilierzeit und Laufzeitpolymorphismus
VERGLEICHSGRUNDLAGE | FUNKTIONSÜBERLADUNG | FUNKTIONSÜBERREITUNG |
Beschreibung | Das Überladen von Funktionen ist eine Funktion, die es uns ermöglicht, dieselbe Funktion mehr als einmal in einem Programm zu verwenden. Überladene Funktionen haben denselben Namen, aber ihre Signatur muss unterschiedlich sein. | Das Überschreiben von Funktionen ist eine Funktion, die es uns ermöglicht, dieselbe Funktion in der untergeordneten Klasse zu verwenden, die bereits in der übergeordneten Klasse vorhanden ist. |
Implementierung | Es kann mit oder ohne Klassen durchgeführt werden. | Es kann nur in Klassen durchgeführt werden. |
Prototyping-Aspekte | Das Prototyping des Überladens hängt vollständig von der Anzahl der Parameter oder vom gleichen Parameter mit unterschiedlichem Datentyp ab. | Alle Aspekte des Prototyping sind konstant. |
Leistung | Es wird zur Kompilierzeit ausgeführt. | Es wird zur Laufzeit durchgeführt. |
Nachlass | Das Überladen von Funktionen erfolgt ohne jegliche Vererbung. | Das Überschreiben von Funktionen findet statt, wenn eine Klasse von der anderen Klasse geerbt wird. Ohne Erbschaft geht es nicht. |
Verwenden | Es wird verwendet, um den gleichen Namen der Funktionen zu haben, die sich je nach den ihnen übergebenen Parametern unterschiedlich verhalten. | Sie ist erforderlich, wenn die abgeleitete Klasse Informationen zu derselben Memberfunktion der Basisklasse hinzufügt. |
Funktionssignatur | Beim Überladen von Funktionen sollte die Funktionssignatur für alle überladenen Funktionen unterschiedlich sein. | Überschriebene Funktionen müssen denselben Namen und dieselbe Anzahl von Argumenten haben. Mit anderen Worten, Funktionssignaturen müssen gleich sein. |
Umfang | Die überladenen Funktionen sind immer im Geltungsbereich. | Überschriebene Funktionen haben einen anderen Geltungsbereich bezüglich des Objekts der Klasse. |
Vorteil Nachteil | Das Überladen liefert fast immer passende Ergebnisse, abhängig von den Fähigkeiten des Programmierers und der Echtzeitanwendung. | Das Überschreiben kann, wenn es nicht sorgfältig geübt wird, aufgrund der unterschiedlichen frühen und späten Bindungstechniken zu unerwünschten Ergebnissen führen. |
Ziel | Es wird verwendet, um einen Polymorphismus zur Kompilierzeit zu erreichen. | Es wird verwendet, um Laufzeitpolymorphismus zu erreichen. |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…