[Python] Classi (Was: Walks like Python. Runs like C.)

Manlio Perillo manlio.perillo a gmail.com
Mer 14 Gen 2015 16:35:31 CET


2015-01-14 15:15 GMT+01:00 Carlos Catucci <carlos.catucci a gmail.com>:

>
> 2015-01-14 15:09 GMT+01:00 Manlio Perillo <manlio.perillo a gmail.com>:
>
>>
>> Puoi fare un esempio reale di uso di ereditarietà multipla?
>>
>
> Banale e al volo (sono al lavoro e gia' sto rubando troppo tempo):
>
> Bolla composta da Anagrafica Clienti+Catalogo
>

Quindi tu fai
class Bolla(AnagraficaClienti, Catalogo):
    ...
?

Non ti sembra che ci sia qualcosa di sbagliato?

Una bolla (ma non sono state abrogate in favore del DDT?) non *è un*
anagrafica clienti ed un catalogo.
Una bolla *è un* documento che *contiene* un anagrafica clienti ed un
catalogo.

Il problema è che tu stai usando l'ereditarietà non per descrivere cosa
rappresenta un oggetto, ma semplicemente per importare i metodi delle
classi basi nella tua classe.

A questo punto capisci perchè le classi in framework come Zope hanno
centinaia di attributi, come descritto nell'articolo di Michele Simionato.
Nel tuo caso il problema non si pone, ma è l'approccio ad essere sbagliato.


Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150114/96d4409e/attachment-0001.html>


Maggiori informazioni sulla lista Python