Si realizzino le classi che rappresentano figure geometriche. Una figura geometrica può essere un punto oppure un segmento (caratterizzato da due punti). Si possono inoltre rappresentare figure composte, che sono insiemi di altre figure, geometriche e composte.
Le classi da realizzare sono le seguenti:
Tutte queste classi si devono trovare all'interno di un package figure. Le classi devono essere incapsulate, gli oggetti non modificabili, e non devono essere permessi valori nulli nelle variabili d'istanza. Le classi devono avere:
Realizzare anche due metodi static (in una classe a parte) che prendono come argomento una figura. Il primo metodo restituisce il numero totale di punti nella figura. Il second metodo ha come secondo argomento un punto, e trova il più distante punto nella figura.