Sto provando a implementare un modello Factory in Java. Ho una classe chiamata Forma che estende il Cerchio e il Triangolo. Il problema è che il costruttore Shape ottiene solo 2 parametri mentre Circle ha 3 parametri e quindi Triangolo (che non mostrerò nella sezione codice perché è identico a Circle). Per dimostrare meglio:Fabbrica in Java quando gli oggetti concreti prendono diversi parametri del costruttore
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);
}
}
Delle idee come superare questo problema? Non devo ricevere un input dall'utente all'interno della fabbrica (deve essere ricevuto dall'esterno).
Grazie!
Perché si desidera utilizzare una fabbrica? Cosa stai cercando di ottenere? – miniBill
Pensato che non sia una soluzione dolce, puoi passare una mappa aggiuntiva dei parametri specifici di Shape concreti. Inoltre: è necessario fornire il raggio sulla creazione? È possibile impostare un raggio di default alla creazione e quindi impostare il raggio richiesto dopo aver creato la forma. – nidu
Bene, ho pensato a questa opzione, ma contraddice l'idea del costruttore ... – Jjang