manusubito1 ha scritto:
però mi chiedevo se fosse possibile ovviare al problema intervenendo solo sul costruttore di TriangoloRettangolo, in modo da avere una scrittura più pulita.
FiguraATreLati è sensato, ed anche il fatto che è
abstract è sensato (sia perché esprime un concetto abbastanza generico, sia perché non avrebbe senso fare es. new FiguraATreLati(10, 20, 50) ).
Però attenzione, già FiguraATreLati potrebbe essere denominato Triangolo
Triangolo no, non è molto sensato perché ha un costruttore:
public Triangolo(float lato1, float lato2, float lato3, float altezza) {
Se non so che tipo di triangolo è ... ha senso trattare una "altezza"? Oltretutto
in più oltre ai 3 lati?
Sarebbe stato invece più sensato:
public abstract class Triangolo implements FiguraGeometrica {
private float lato1, lato2, lato3;
public Triangolo(float lato1, float lato2, float lato3) {
.......
public class TriangoloRettangolo extends Triangolo {
public TriangoloRettangolo(float cateto1, float cateto2) {
super(cateto1, cateto2, <qui calcolo ipotenusa> );
}