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. |
Haben Sie sich jemals gefragt, warum Sie manchmal bei Einkäufen Ihre PIN eingeben müssen und…
Haben Sie sich jemals gefragt, warum Ärzte manchmal eine CT-Untersuchung und in anderen Fällen ein…
Haben Sie sich jemals gefragt, warum manche Menschen von ihrem "Lohn" sprechen, während andere ihr…
Seide oder Baumwolle: Ein ewiger Wettstreit um Weichheit und Komfort 🧵🌿 Haben Sie sich jemals…
Haben Sie sich jemals gefragt, warum manche Radfahrer scheinbar mühelos Steigungen erklimmen, während andere ins…
Staubsaugen - eine lästige Pflicht, die niemand gerne erledigt. 🧹 Doch in der Welt der…