<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-01-14 15:39 GMT+00:00 Carlos Catucci <span dir="ltr"><<a href="mailto:carlos.catucci@gmail.com" target="_blank">carlos.catucci@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Nel tuo caso il problema non si pone, ma รจ l'approccio ad essere sbagliato.</blockquote></div><br></div></span><div class="gmail_extra">A prescindere che ho usatto un caso al volo, ma dove sarfebbe l'errore? Se entrambe implementano dei metodi differenti, non ci sarebbero conflitti.</div></blockquote></div><br>Diciamo che e' un esempio da manuale di come non andrebbe usata l'ereditarieta'. E' anche un esempio da manuale di come la insegnavano i libri negli anni 90 (e purtroppo tutt'ora). Esempio tipico Deitel&Deitel...</div><div class="gmail_extra"><br></div><div class="gmail_extra">Tu stai usandola per sostituire un meccanismo di semplice composizione.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ovviamente da un punto di vista sintattico funziona. Il tuo codice funziona. Ma non ti rendi conto del numero di vincoli impliciti che stai introducendo senza alcun beneficio.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Come diceva Manlio, una bolla *contiene* i due oggetti sopra menzionati. Ora, per facilita' di ragionamento... supponi che vuoi fare una bolla a qualcuno che non vive in Italia. Supponi anche che, sempre per fare buona OOP, tu ti trovi che in effetti l'implementazione di un'Anagrafica Clienti per qualcuno che non e' italiano e' implementata con una classe diversa (diverse business rules, diversi campi, boh). Ecco che cominci ad avere un problema.</div><div class="gmail_extra"><br>Viceversa, siccome il comportamento esterno di un'anagrafica clienti e' sempre lo stesso, se usi composizione semplicemente ci plugghi dentro quella giusta, ma non ti esplodono le classi.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Allo stesso modo il Catalogo clienti...</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ora capiscimi, io conosco poco il dominio business di cui stiamo parlando. Quindi potresti contestare l'esempio specifico. Oppure potresti dirmi che no, non ha nessun senso avere piu' classi per un'anagrafica clienti. Ma attenzione che se gia' hai una roba tipo</div><div class="gmail_extra"><br></div><div class="gmail_extra">if self.codice_fiscale is None and self.is_a_bloody_foreigner:</div><div class="gmail_extra"><br></div><div class="gmail_extra">hai gia' un buon motivo per avere una classe a parte. Per intenderci.<br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>