Ich versuche ein Factory-Muster in Java zu implementieren. Ich habe eine Klasse namens Shape, die Kreis und Dreieck erweitert. Das Problem ist, dass Shape-Konstruktor nur 2 Parameter bekommt, während Circle 3 Parameter bekommt und so ist Triangle (was ich nicht im Code-Abschnitt anzeigen werde, weil es mit Circle identisch ist). es zu zeigen, besser:Factory in Java, wenn konkrete Objekte verschiedene Konstruktorparameter annehmen
private interface ShapeFactory{
public Shape create(int x, int y);
}
private class CircleFactory implements ShapeFactory{
public Shape create(float radius, int x, int y){ //error
return new Circle(radius, x,y);
}
}
Irgendwelche Ideen, wie dieses Problem zu lösen? Ich darf keine Eingaben von Benutzern innerhalb der Fabrik erhalten (muss von außen empfangen werden).
Danke!
Warum möchten Sie eine Fabrik verwenden? Was versuchst du zu erreichen? – miniBill
Dachte, es ist keine süße Lösung, Sie können zusätzliche Karte von konkreten Form spezifische Parameter übergeben. Außerdem: Ist es notwendig, den Radius bei der Erstellung anzugeben? Sie können bei der Erstellung einen Standardradius festlegen und dann nach dem Erstellen der Form den gewünschten Radius festlegen. – nidu
Nun, ich dachte über diese Option nach, aber es widerspricht der Idee von Konstruktor ... – Jjang