PDA

Visualizza versione completa : [JAVA] Progetto Biblioteca


Downloader
06-05-2005, 22.31.59
Eccomi qua!!

Mi hanno dato da fare un progettino di una biblioteca da non so quanto tempo, il punto è che ho problemi in alcuni aspetti.

Alcune delle specifiche sul libro sono le seguenti:
IdTitolo, Titolo, Autore, Anno

ci sarenno vari argomenti del libro come ad esempio narrativa, natura, ecc...

Ora il problema è che non so come organizzarmi.

Io avevo pensato cosi:

1) Classe Biblioteca (dichiarata come public) che contiene un array di oggetti di tipo Libro.

2) Classe Libro che eredita da Biblioteca che contiene gli attributi IdTitolo, titolo, ecc...

3) Specializzazioni della classe Libro come ad esempio narrativa, natura.

Intanto ditemi se la cosa puo filare e poi si va avanti!

tnx!! ;)

Dav82
06-05-2005, 22.39.18
Originariamente inviato da Downloader
1) Classe Biblioteca (dichiarata come public) che contiene un array di oggetti di tipo Libro.

2) Classe Libro che eredita da Biblioteca che contiene gli attributi IdTitolo, titolo, ecc...

3) Specializzazioni della classe Libro come ad esempio narrativa, natura.

Intanto ditemi se la cosa puo filare e poi si va avanti!

tnx!! ;)


1) Ok, può andare :) Una cosa però: tu allochi un array per 20 libri, quando compri il 21° che succede? ;)

2) Mh... direi di falciare in pieno, senza remore :D l'ereditarietà: che c'azzecca il libro con la bibiloteca? ;) Le funzioni che sono presenti in un libro estendono quelle presenti in Biblioteca? A occhio e croce non penso...

3) Potrebbe essere un'idea, anche se mi viene subito in mente una cosa: un libro può appartenere al più ad un genere oppure può appartenere anche a due generi? In caso affermativo questa struttura forse non è la più comoda, altrimenti potrebbe rivelarsi una buona idea :)


Cmq per poter buttar giù la struttura delle classi, bisogna avere in mente precisamente non solo i dati presenti, ma anche le operazioni che bisogna compiere su di essi :)


Uh, un consiglio: fai un file .java separato per ogni classe, e non mettere tutte le classi in un solo file.. all'inizio magari ti sembrerà più incasinato e dispersivo, ma quando comincerai ad avere progetti con una decina di classi... ;)

Downloader
06-05-2005, 22.44.40
No no, un libro deve avere piu generi.

Se io creo classi come narrativa, ecc che si specializzano partendo dalla classe Libro su un argomento non credo avrei problemi.

Downloader
06-05-2005, 22.45.39
Originariamente inviato da Dav82

Uh, un consiglio: fai un file .java separato per ogni classe, e non mettere tutte le classi in un solo file.. all'inizio magari ti sembrerà più incasinato e dispersivo, ma quando comincerai ad avere progetti con una decina di classi... ;)

Fatto! ;)

Downloader
06-05-2005, 22.49.12
Per il punto 1 in Biblioteca ci ho messo i metodi popolaLista e stampaLista dove lista è l'array di oggetti.

Dav82
06-05-2005, 22.56.52
Originariamente inviato da Downloader
No no, un libro deve avere piu generi.

Se io creo classi come narrativa, ecc che si specializzano partendo dalla classe Libro su un argomento non credo avrei problemi.

In Bibiloteca, in una struttura appropriata (array o cos'altro) metti i riferimenti ai vari libri che hai...

metti di avere le classi Romanzo e Thriller che ereditano da Libro, e di avere un libro che appartiene sia al genere romanzo che al genere libro: come affronti la faccenda? Che oggetto crei? :)

Un oggetto della classe Romanzo e uno della classe Thriller? E quale metti in Biblioteca? Non li puoi mettere tutti e due, altrimenti salta il conteggio...

io penserei al genere più come ad un attributo... al più puoi creare delle classi corrispondenti ai generi letterari e nei vari libri salvare il genere non come stringa di testo, che in effetti è bruttino, ma come riferimento alla classe... anche se non mi sembra molto utile.. almeno non sapendo poi effettivamente che operazioni devono essere fatti sui dati... (mi sembro Succhione con tutti questi puntini :D)

Dav82
06-05-2005, 23.00.05
Originariamente inviato da Downloader
Per il punto 1 in Biblioteca ci ho messo i metodi popolaLista e stampaLista dove lista è l'array di oggetti.

popolaLista che cosa può fare?
Io vedrei bene dei metodi per aggiungere e togliere libri... nel senso: per qualsiasi contenitore (collezione) di oggetti, è sensato fornire dei metodi per riempire e svuotare (totalmente o parzialmente) il contenitore stesso...


guarda un po' il javadoc della classe Vector e i metodi che fornisce :)

Downloader
06-05-2005, 23.06.07
popolaLista praticamente fa inserire i campi come ad esempio autore, genere...

Le collection non le ho ancora fatte, cioè calcola che io so piu in teoria che in pratica.

Alhazred
08-05-2005, 15.14.21
Hai pensato ad usare una lista collegata invece di un array per la biblioteca?
Come ha detto Dav cosa succede se l'array è di 20 elementi e devi inserire un 21° libro? Non è previsto oppure hai pensato di scrivere del codice che se necessario ridimensiona l'array?