Scrivere una classe Pubblicazione i cui oggetti rappresentano pubblicazioni. Ogni oggetto Pubblicazione deve contenere le seguenti variabili di istanza:
Titolo (di tipo String)
Autore (di tipo String)
Numero di pagine approssimativo (di tipo int)
Prezzo di copertina in EURO (di tipo int)
La classe deve avere i seguenti metodi:
costruttore: prende come parametri titolo, autore e prezzo di copertina ed inizializza lo stato dell'oggetto. Per calcolare il numero di pagine, assumere che ogni pagina costa 10 centesimi.
metodi getTitolo, getAutore, getPrezzo, getPagine che restituiscono i valori degli attributi
metodi setTitolo, setAutore, setPrezzo, setAutore che modificano i valori degli attributi (nota: se si modifica il prezzo, allora anche il numero di pagine deve essere modificato di conseguenza, e viceversa)
metodo toString che restituisce una stringa con i dati dell'oggetto su cui è invocato
Scrivere una classe Scaffale i cui oggetti rappresentano scaffali di una biblioteca, ognuno dei quali può contenere n pubblicazioni.
Variabili di istanza:
un array di elementi di tipo Pubblicazione (vedi esercizio precedente). Ogni elemento dell'array conterrà un riferimento ad un oggetto Pubblicazione, oppure null se la posizione corrispondente dello scaffale è vuota.
La classe Scaffale avrà i seguenti metodi:
costruttore: dato n di tipo int, crea un array di n elementi ed inizializza la variabile di istanza.
getPubblicazione: prende come parametro la posizione nello scaffale su cui il metodo è invocato (tra 0 ed n-1) e restituisce null se la posizione è vuota, o un riferimento alla Pubblicazione in essa contenuta altrimenti.
setPubblicazione: aggiunge una pubblicazione in una certa posizione dello scaffale su cui il metodo è invocato (o la svuota mettendoci null). Prende come parametri un riferimento ad un oggetto Pubblicazione ed un indice tra 0 e n-1.
listaPubblicazioni: stampa la lista delle pubblicazioni effettivamente contenute nello scaffale su cui il metodo è invocato.