Programmazione a oggetti 13.01.2005 _________________________________________________________________________________________________ ESERCIZIO 1 C++ (punti 13) Nell’ambito di un sistema software per un’azienda che produce bibite si rende necessario progettare classi che modellano due differenti tipi di prodotti: bibite alcoliche e bibite analcoliche. Informalmente, ogni prodotto è caratterizzato da un codice che identifica la bibita, dal nome del prodotto e da una nota che ne illustra gli ingredienti. Le bibite alcoliche si differenziano dalle altre per avere anche l’indicazione del grado alcolico. Realizzare anche una classe per le ditte clienti dell’azienda. Una ditta è caratterizzata dai propri dati anagrafici e da un vettore di prodotti che l’azienda produttrice ha venduto alla ditta cliente. Svolgere i seguenti esercizi: 1) Progettare le classi che si ritengono necessarie per modellare la situazione sopra descritta. 2) Scrivere i metodi di classe che si ritengono necessari per calcolare sia il numero di bibite alcoliche che il numero di bibite analcoliche prodotte dalla ditta. 3) Scrivere una procedura che ricevendo in ingresso una ditta cliente, scriva su un file tutti i dati relativi ai prodotti ad essa venduti. _________________________________________________________________________________________________ ESERCIZIO 2 Java (punti 8) Progettare in Java una classe Poligono_regolare che abbia, oltre alle due coordinate per il centro anche due attributi che specifichino il numero dei lati e la lunghezza del raggio del cerchio circoscritto. Derivare almeno due classi per poligoni regolari con pochi lati (es. triangolo_equilatero, quadrato) e per essi specificare dei metodi propri (es. base() e altezza(), per il triangolo e diagonale() per il quadrato). Definire, in modo adeguato, i costruttori e tutti i metodi di tipo get e di tipo set che si rendono necessari per modificare gli attributi. ESERCIZIO 3 (punti 7) Illustrare le differenze e le analogie tra il C++ e Java nella realizzazione della genericità. _________________________________________________________________________________________________ ESERCIZIO 4 (punti 2) Dire se è vera o falsa la seguente affermazione e motivare la risposta: “gli attributi private sono accessibili esclusivamente da metodi della classe in cui sono definiti”. Scrivere in modo leggibile. Riportare solo la propria matricola su tutti i fogli (non indicare il nome né il cognome). Consegnare sia fogli di brutta che di bella copia (distinguendo opportunamente gli uni dagli altri). Numerare i fogli di bella secondo l’ordine in cui dovranno essere letti dal docente. Per chi ha sostenuto il parziale. Indicare sul compito che si vuole mantenere il voto del parziale e svolgere solo gli esercizi 2 e 3.