Ecco il testo:
Si consideri la seguente situazione che si vorrebbe modellare con un opportuno insieme di classi JAVA:
Si vuole creare un database di oggetti geometrici. Una figura geometrica, bidimensionale o tridimensionale, è caratterizzata da un nome, ed è assegnata mediante le coordinate cartesiane dei suoi vertici. Ogni figura piana è caratterizzata da un codice (float), e quelle solide da un colore (char). Si vogliono considerare triangoli, rettangoli, quadrati e parallelepipedi. Tutte le figure piane possono essere ruotate di un certo angolo; i triangoli però subiscono una rotazione particolare. Rettangoli (e quadrati) hanno l'attributo spessore di linea. Per tutte le figure considerate ha senso calcolare un coefficiente di simmetria; per quelle piane ha senso calcolare l'area. Ogni parallelepipedo contiene al proprio interno una videocamera, caratterizzata dal numero seriale (20 caratteri), dalla data di fabbricazione e da una memoria da 1 KB.
A: analisi e disegno.Riportare il diagramma UML di tutte le classi che si ritengono necessarie alla corretta descrizione e rappresentazione della situazione sopra descritta. Nella gerarchia ereditaria si considerino anche i seguenti metodi eventualmente polimorfi e se ne dia
un'implementazione:
getTotale; restituisce il numero di figure create fino all'istante di invocazione del metodo;
getNumVertici; restituisce il numero di vertici della figura;
getVideocamera; restituisce la videocamera interna;
getCoefficiente; restituisce il coefficiente di simmetria per ogni figura calcolato mediante la formula:
c * Area per i triangoli,
c^5 * Codice / 0.9 per i rettangoli,
7*c + 3 * L + NumeroVertici per i parallelepipedi,
dove c è un coefficiente costante per tutte le figure ed L è il lato più lungo del parallelepipedo considerato.
B: utilizzo delle classi.Si fornisca un frammento di programma che descriva la creazione e l'inizializzazione casuale di una collezione di 50 fiugre geometriche e
si visualizzino le informazioni per ogni figura,
si trovi la figura piana con il codice minore,
si ordinino (in base al coefficiente di simmetria) in un array indipendente tutti i quadrati della collezione (gli oggetti non devono essere clonati).
Oddio mi sono dimenticato di svolgere il primo punto!!

Avevamo un'ora e venti per svolgere il compito.