quindi se un Cliente o un Fornitore ereditasse l'anagrafica, andrebbe a leggere i dati di CC e indirizzo di altri utenti (tipo Fornitore o Agenzia). Quindi non è ereditarieta.
perche' un cliente dovrebbe vedere i dati di altri utenti? un cliente e' un cliente! avra' i suoi metodi per vedere le sue cose!

class Anagrafica

nome
cognome
indirizzo

end Anagrafica

class Cliente extend Anagrafica

cod_cliente

get_nome()
get_Cognome()
...

end Cliente

E' sicuramente Associazione. Solo che siccome è un legame "forte" direi composizione, perchè se elimino un Cliente, elimino l'anagrafica e tutto ciò che c'è dietro!
non e' detto! puoi eliminare un cliente, ma mantenere l'anagrafica. l'anagrafica dice che esiste tizio e caio, poi se e' o non e' un cliente e' un altro paio di maniche.

tizio puo' essere sia un cliente sia un fornitore(per esempio) quindi se elimini il cliente e l'anagrafica il fornitore non avra' nome. a meno che tu non abbia dati ripetuti che non e' bene.


cmq ti dico che SECONDO ME non c'e' un modo giusto e un modo sbagliato! dipende da come si fanno le cose. sono scelte insomma. Quello che sostengo io e' occhio alle composizioni! sono legami molto forti che creano troppa compattezza e quindi poca elasticita'. ma daltronte esistono e a volte sono indispensabili.

ciao