Methoden Polymorphie

  • Themenstarter Themenstarter NettGemeint
  • Beginndatum Beginndatum
N

NettGemeint

Gast
Hallo ihr Lieben, ich habe eine Frage zu den richtigen Fachbegriffen.

Wenn ich eine Methode, beispielsweise den Konstruktur mehrfach mit unterschiedlichen Signaturen habe, wie ist dafür der richtige Fachausdruck?

Java:
class Test{
	
	public Test(){
		System.out.println("leer");
	}
	
	public Test(int i){
		System.out.println(i);
	}
}

Ist das Polymorpie? Parametrische Polymorphie? Oder Polymorphismus? Oder late binding?

Ich habe versucht mir das in der Literatur selbst anzulesen, aber das scheint ja teilweise mit der verbindlichen Festlegung was was ist böse im Argen zu liegen?

Kann mich da jemand aufklären?

Vielen Dank im Voraus
 
Zuletzt bearbeitet von einem Moderator:
Die Überladung ist aber doch auch eine Ad-hoc-Polymorphie wenn ich das richtig verstanden habe?

Nur der Vollständigkeit halber für mich?
 
Für solche Fragen bin ich eigentlich der Falsche, aber afaik hat das mit Polymorphie nichts zu tun.

In Java wird eine Methode über ihre Signatur gefunden. Siehe: Java ist auch eine Insel – 2.7 Methoden einer Klasse

...
2.7.1 Bestandteil einer Funktion

Eine Funktion besteht aus mehreren Bestandteilen. Dazu gehören der Methodenkopf (kurz Kopf) und der Methodenrumpf (kurz Rumpf). Der Kopf besteht aus einem Rückgabetyp (auch Ergebnistyp genannt), dem Funktionsnamen und einer optionalen Parameterliste. Der Methodenname, die Parameter und die Typen der Parameter definieren die Signatur einer Methode – der Rückgabetyp gehört nicht dazu.1 Pro Klasse darf es nur eine Methode mit derselben Signatur geben, sonst meldet der Compiler einen Fehler.
...

Dementsprechend hast du in deinem Beispiel einfach zwei Methoden mit unterschiedlicher Signatur.
 
Polymorphie hat etwas mit Vererbung zutun, nicht aber mit dem Überladen einer Funktion was bei dir der Fall ist. Das sind zwei total verschiedene Sachen.
 
Wikipedia sagt unter "Überladen": "Das Überladen wird, da es sich um einen rein syntaktischen Mechanismus handelt, nach Strachey, als Ad-hoc-Polymorphie betrachtet."

Deshalb auch meine Verzweiflung, dass die Begrifflichkeit offenbar nicht immer sauber und vor allem gar nicht eindeutig ist :-(
 
Mhh ich habe jetzt ein paar Tage (>3650) Erfahrung in Sachen Programmierung und da habe ich diesen Begriff Ad-hoc-Polymorphie noch nie gehört
 

Zurück
Oben