PDA

View Full Version : [JAVA] problema con esercizio relativo all'ereditarietà


Rintrah84
10-07-2009, 11:32
Ciao...
mi sono bloccato...

Allora devo implementare usandol'eriditarierà una situazione del genere.

Ho una serie di articoli venduti in un supermercato che sono divisi in categorie e sottocategorie.

Tutti i tipi di articoli hanno in comune il fatto di possedere i seguenti campi: un codice univoco, un nome ed un prezzo unitario.

Gli articoli sono divisi in CATEGORIE MERCEOLOGICHE come ad esempio Alimenti, Pulizia Casa, Elettronica. Ogni categoria merceologica avrà delle caratteristiche specifiche.
Per fare un esempio la categoria merceologica Alimenti dovrà avere un campo Scadenza ed un metodo per accedervi in lettura mentre la categoria Pulizia Casa dovrà avere un campo booleano che dice se un prodotto è tossico o no ed un metodo per accedere a tale valore.

A loro volta le categorie merceologiche sono suddivise in CATEGORIE SPECIFICHE,per fare un esempio la categoria merceologica Alimenti potrà essere divisa in Frutta, Verdura, Carne.

Come posso realizzare una gerarchia di questo tipo?

Io l'ho pensata così (ma mi stà creando non poche difficoltà e parecchi dubbi):


Creo una classe abstract chiamata CategoriaMerceologica che rappresenta il grado più alto della mia gerarchia di categorie in cui divido i prodotti.
In tale classe abstract vado ad inserire i campi comuni a qualsiasi articolo presente nel mio supermercato ovvero: un codice di tipo int, un nome di tipo String ed un prezzo di tipo double ed implemento i comportamenti comuni ad ogni articolo presente nel mio supermercato: ovvero la capacità di accedere in lettura al codice dell'articolo, al suo nome ed al suo costo unitario.
STOP: queste 3 cose le devono saper fare TUTTI gli articoli...a prescindere dalle categorie a cui appartengono.

Essendo una classe abstract potrà essere estesa nelle sue varie istanze come ad esempio Alimenti (che conterrà la data di scadenza ed il relativo metodo getter), PuliziaCasa (che conterrà il campo booleano che indica se un prodotto è tossico ed il relativo metodo getter) ed Elettronica.

Per quanto riguarda la suddivisione di tali classi in sottoclassi (ad esempio Alimenti che viene suddivisa in: Frutta, Verdura, Carne) visto che nel testo non è specificata nessuna differenza di rappresentazione o di comportamento per tale suddivisione posso considerarlo come un campo testuale di una categoria merceologica.

mmm pareri? qualche altra idea?
:cry:

Grazie
Andrea