Fondamenti di Informatica‎ > ‎News‎ > ‎

Esercizio 10

pubblicato 06 dic 2013, 12:59 da Giorgio Davanzo   [ aggiornato in data 06 dic 2013, 12:59 ]
Creiamo uno Zoo.

Classe Zoo

La classe Zoo ha al suo interno 
  • il nome dello zoo ed 
  • un array di contenitori di animali
  • un metodo toString() che ritorna il nome dello zoo ed il toString dei vari contenitori

Contenitore

Ogni contenitore ha:
  • una stringa che descrive dove si trova all'interno dello zoo.
  • il numero massimo di animali che può contenere maxAnimali
  • un array privato di animali grande quanto maxAnimali (suggerimento: servirà un costruttore)
  • un metodo privato che permette di contare gli animali effettivamente presenti nell'array
  • un metodo pubblico che riceve in input un animale, lo inserisce in coda all'array e se il contenitore è pieno scrive a schermo un messaggio d'errore
  • un metodo pubblico getDescrizione() che ritorna una stringa contenente il numero di animali contenuti ed il luogo in cui si trova il contenitore
  • un metodo pubblico toString() che ritorna: 
    • il valore di getDescrizione()
    • il toString() degli animali contenuti nell'array (occhio ai null), uno per riga (con tabulazione all'inizio riga)

Vasca

La vasca è un particolare tipo di contenitore cui si aggiunge l'informazione del volume in litri dell'acqua.
La vasca estende il metodo getDescrizione() aggiungendoci il volume d'acqua contenuto.

Recinto

Un recinto è un particolare tipo di contenitore con in più le informazioni di larghezza, lunghezza dell'area ed altezza del recinto.
Il recinto estende il metodo getDescrizione() aggiungedoci i metri quadri e l'altezza del recinto.

Animale

Un generico animale ha 
  • il peso in kg
  • il metodo toString() che ritorna il peso

Mammifero

Il mammifero modifica il metodo toString() per dire che è un mammifero.
Ha inoltre un metodo allatta che scrive a schermo "sto allattando".

Oviparo

L'oviparo modifica il metodo toString() per dire che è un oviparo.

ZooManager

Realizzare il progetto chiamandolo ZooManager, quindi creare le classi suddette aggiungendo delle sottoclassi per alcune razze di animali (es: squalo, doberman, yeti, ecc) estendendo la classe corretta (mammifero o pesce) e modificando il toString() per descrivere il tipo di animale.

All'interno del main della classe ZooManager.java:
  • creare uno zoo
  • creare almeno una vasca ed un recinto
  • popolarli con un po' di animali
  • stampare il toString() dello zoo

Suggerimento operativo: create prima le classi con i campi, partendo dalla più generica; implementate i metodi e gli eventuali costruttori in un secondo momento.

Ho già messo online il codice con la soluzione.

Comments