Originariamente inviato da Tommy86r
mi serve un pò di codice java (di esempio) che traduca un'associazione 1..* e un'associazione *..*
anche con i costruttori...
Ma che vuol dire?! Non è che c'è 1 modo e basta per fare queste cose .... dipende (da vari fattori).

Pensandolo nella pura ottica OOP, se un oggetto X deve poter fare riferimento a più altri oggetti di tipo Y, alla fin fine vuol semplicemente dire che dentro X ci deve essere una "collezione" (intesa qui in senso generale) di riferimenti agli oggetti Y.
Che poi per questa "collezione" si usi un array o una collection (es. ArrayList, Vector o altro) .... beh, concettualmente non cambia nulla.

Caso tipico: Uno studente segue più corsi e un corso può essere seguito da più studenti. A livello di Java puoi quindi fare 2 classi Studente e Corso. Se a uno studente sono associati più corsi vorrà dire che in Studente ci potrebbe essere un campo di tipo es. ArrayList<Corso> che contiene la lista dei corsi. E dal lato opposto, in Corso una collezione es. ArrayList<Studente> che fa riferimento agli studenti del corso.

Ma questa è solo una ipotesi e poi comunque si devono fare tutta una serie di valutazioni a livello di "design" e quindi poi tecniche: si vuole "nascondere" la collezione all'esterno? Cioè fare in modo che in Studente ci siano solo metodi es. aggiungiCorso(Corso c), rimuoviCorso(Corso c) ecc.... senza che si possa avere/manipolare direttamente la collezione? O si vuole fornire all'esterno la collezione con es. ArrayList<Corso> getListaCorsi() ??

Ripeto, come riassunto: la questione principale è solo quella di usare appropriatamente delle "collezioni" di oggetti.