Erste Schritte Mehrere Konstruktoren und Vorteile?

RedHawk123

Mitglied
Wieso kann man mehr als einen Konstruktor haben? Wie nennt man das dahinterliegende Konzept? Könnt ihr mir ein Beispiel geben bei dem es auch für Methoden sinnvoll ist?

Danke im voraus :)
 

krgewb

Top Contributor
Wenn man mehrere Konstruktoren hat müssen sie sich entweder in der Anzahl oder dem Typ der Rückgabewerte unterscheiden.

Beispiele:
public Person(int alter)
public Person(float alter)
public Person(int geburtsjahr) <-- nicht erlaubt
public person(int alter, String name)
public Person(int alter, int geburtsjahr)
public Person(int alter, int anzahlKinder) <-- nicht erlaubt
 

Robat

Top Contributor
Das ganze nennt sich im allgemeinen Überladen / Overloading (von Methoden / Konstruktoren).
Für Konstruktoren kann es sinnvoll sein, wenn es mehrere Optionen gibt ein Objekt zu instanzieren.
So gibst du dem Nutzer der API die Möglichkeit Objekten Defaultwerte zuzuweisen (ohne das er was spezifizieren muss) oder eben genau diese Werte explizit anzugeben.
 

RedHawk123

Mitglied
Das ganze nennt sich im allgemeinen Überladen / Overloading (von Methoden / Konstruktoren).
Für Konstruktoren kann es sinnvoll sein, wenn es mehrere Optionen gibt ein Objekt zu instanzieren.
So gibst du dem Nutzer der API die Möglichkeit Objekten Defaultwerte zuzuweisen (ohne das er was spezifizieren muss) oder eben genau diese Werte explizit anzugeben.
Sehr sehr gut erklärt! vielen vielen dank!
 

krgewb

Top Contributor
Es gibt einen Standard-Konstruktor. Den hat man immer, auch wenn man ihn nicht deklariert!
Wenn du jedoch einen anderen Konstruktor hast (z.b. public Person(int alter){ } ) und den Standard-Konstruktor trotzdem brauchst dann musst du ihn deklarieren:
Java:
public Person(){
}
 

krgewb

Top Contributor
Ja, ich muss mich korrigieren:
Wenn man mehrere Konstruktoren hat müssen sie sich entweder in der Anzahl oder dem Typ der Parameter unterscheiden.
 

Neue Themen


Oben