Methodenüberladung
Überladen von Methoden, auch bekannt als Funktionsüberladen oder Kompilierzeit-Polymorphismus, ist ein Konzept, bei dem zwei oder mehr Methoden mit demselben Namen, aber unterschiedlicher Signatur im selben Gültigkeitsbereich vorliegen. Es gibt viele Programmiersprachen, die diese Funktion unterstützen: Ada, C ++, C #, D und Java.
Beispiel für das Überladen von Methoden in C #
1234567891011121314 | class OverloadShapes float Polygon (int radius, float pi) float circleArea = pi * radius * radius; int Polygon (int length, int width) int rechteckleArea = Länge * width; int Polygon (int sideArea) = Seite * Seite; |
Wie im obigen Beispiel gezeigt, ist die Methode 'Polygon' dreimal mit unterschiedlicher Methodensignatur überladen, d. H. Der Typ oder die Anzahl der Parameter sind unterschiedlich.
Überschreiben der Methode
Das Überschreiben von Methoden, auch als Funktion überschreiben oder Laufzeitpolymorphismus bezeichnet, ist eine OOP-Funktion, mit der eine untergeordnete Klasse der in der übergeordneten Klasse definierten Methode eine eigene Implementierung bereitstellen kann. Die Implementierung in der untergeordneten Klasse überschreibt die Definition der Methode in der Basisklasse, vorausgesetzt, die Methode in der untergeordneten Klasse sollte denselben Namen, dieselbe Signatur und denselben Rückgabetyp haben.
Beispiel für das Überschreiben von Methoden in C #
12345678910 | class Source1 public void draw () Console.Writeline ("Ich bin in der Klasse Source1"); class Source2 erweitert Source1 public void draw () Console.Writeline ("Ich bin in der Klasse Source2"); |
Hier überschreibt die Draw-Methode in der Source2-Klasse die in der Source1-Klasse definierte Draw-Methode.
Unterschied zwischen Method Overloading und Method Overriding