Premessa: per provare il funzionamento degli oggetti definiti nell'esempio, creare una classe Main che contiene il metodo main. Il metodo main inizializzera' gli oggetti, stampera' i risultati, .... Definire una classe Poligono che ha un costruttore Poligono(double vertici[][]) dove vertici e' un array [2][] che contiene i vertici di un poligono nel piano. Aggiungere a Poligono un metodo che ritorna il perimetro e uno per calcolare il numero di vertici. Definire una sottoclasse RettangoloVerticale (sottoclasse di poligono) che rappresenta un rettangolo con i lati paralleleli agli assi e ha un costruttore RettangoloVerticale(double left, double right, double up, double down) dove left, right, up, down sono i bouding box, ossia il minimo e il massimo delle ordinate e le ascisse dei punti del rettangolo. Aggiungere a RettangoloVerticale un metodo che calcola l'area e uno che decide se il rettangolo e' anche un quadrato. Definire una sottoclasse TriangoloIsoceleVerticale (sottoclasse di poligono) che rappresenta un triangolo isocele con la base parallela all'asse delle x e ha un costruttore TriangoloIsoceleVerticale (double left, double right, double up, double down) dove left, right, up, down sono i bouding box, ossia il minimo e il massimo delle ordinate e le ascisse dei punti del triangoo. Aggiungere a TriangoloIsoceleVerticale un metodo che calcola l'area e uno che decide se il triangolo e' anche equilatero Aggiungere alla classe Main un metodo printFeatures(Poligono p) che preso un poligono stampa le seguenti informazioni: i vertici del poligono se e' un punto, un segmento, un triangolo, un quadrato, altro il perimetro Nel caso si tratti di un TriangoloIsoceleVerticale o un RettangoloVeritcale stampare anche l'area e dire se si tratta di triangolo equilatero o di un quadrato.