Vererbung Konstruktorparameter Super- /Subklasse

Axigan

Mitglied
Hi, ich habe die Aufgabe Formen zu erstellen, und zwar geht es hierbei um Vererbung.
Dabei habe ich ein Problem, und zwar habe ich die Oberklasse Polygon:
Java:
public class Polygon extends Form
{
    private Punkt[] ecken;
    
    public Polygon(Punkt[] ecken)
    {
        this.ecken = ecken;
    }
}
Man muss für den Konstruktor ein Array von Punkten übergeben.

Nun muss ich aber für die Unterklassen Dreieck und Viereck die Punkte einzeln übergeben:
Java:
public class Viereck extends Polygon
{

    public Viereck(Punkt p1, Punkt p2, Punkt p3, Punkt p4)
    {
        super({p1, p2, p3, p4});
    }
}

Der Code wie er oben steht funktioniert nicht, ich weiss aber nicht, wie ich die einzelnen Punkte nun in ein Array packen soll, da der super-Aufruf als erste Anweisung im Konstruktor stehen muss...
 

Axigan

Mitglied
Vielen dank, hat so geklappt, wusste nicht, dass man das direkt so machen kann. Hab noch Mühe was die Initialisierungen angeht...
 

faetzminator

Gesperrter Benutzer
Wenn du den Konstruktor-Parameter von [c]Punkt[] ecken[/c] zu [c]Punkt... ecken[/c] (Google: java varargs) änderst, kannst du auch [c]super(p1, p2, ...)[/c] aufrufen.
 

Neue Themen


Oben