Giuso ha scritto:
aggiungere due differenti classi di Appuntamenti, di cui una accetta come campo anche un contatto, mentre l'altra è un semplice arraylist.
Come ho detto prima, i due tipi di "eventi" sono ben differenti. Quindi presumibilmente saranno da "modellare" in modi differenti e quindi di fatto con due classi distinte.
Ma bisogna vedere come devono essere trattati e gestiti: devi avere una
singola collezione che tiene
tutti i tipi di eventi in modo promiscuo? Allora si fa una super-classe es. Evento con sotto-classi es. Appuntamento e Scadenza.
Oppure no? Allora li potresti gestire separatamente (quindi nessuna gerarchia). Inoltre l'ho detto prima: una scadenza può essere in mezzo ad un appuntamento? Se sì o no, questo cambia la logica di gestione.
Giuso ha scritto:
A questo punto però direi che è inutile memorizzare i contatti in un array
Non è detto .. dipende. Se dovessi stampare tutti i contatti magari tenuti in un certo ordine, allora una collezione mantenuta ordinata sarebbe l'ideale. Devi poter cercare "velocemente" se un certo contatto esiste? Devi poter cercare "velocemente" tutti gli appuntamenti relativi ad un certo contatto? Sono tutte cose da valutare.
Giuso ha scritto:
Posso ad esempio usare metodi come setNome(nome) ecc. per inizializzare i campi del contatto? Però come faccio a richiamarli passandogli il nome ecc. quando creo l'appuntamento?
Crei l'oggetto Contatto, poi chiederai all'utente "Inserisci il nome" (appena letto userai setNome), poi chiederai all'utente "Inserisci il cognome" (appena letto userai setCognome), ecc...