Esercizio 10

Post date: Dec 06, 2013 8:59:54 PM

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.