pierin88 ha scritto:
non riesco a capire dove e quale funzione si inserisce nell'altra.
Credo tu voglia dire quale
classe si inserisce nell' altra (dato che parli di composizione), ti faccio un riassuntino sperando che sia quello che vuoi sapere.
Nel creare la classe 'Avvenimento' avevi due possibilità, usare l' ereditarietà oppure la composizione.
Nel primo caso avresti fatto derivare la classe 'Avvenimento' dalla classe 'Data', nella composizione invece la classe 'Avvenimento'
contiene un campo di tipo 'Data'.
Avrebbe funzionato in entrambi i casi. È un problema di come modellare correttamente le classi.
Scegli l' ereditarietà se fra le classi esiste la relazione
è un, ad esempio un 'Cliente' è una 'Persona' quindi fai derivare la classe cliente dalla classe 'Persona'.
Scegli la composizione se vale la relazione
ha un, ad esempio l' 'Automobile' ha un 'Motore' quindi la classe 'Automobile' conterrà un campo 'Motore'.
A volte la situazione è ambigua, qualcuno potrebbe dire che la macchina
è un motore con le ruote, in questi casi ti chiedi se potrebbe averne più di uno (in teoria una macchina potrebbe avere un motore di scorta ) se la risposta è si, non usare la derivazione.