Re: Otra vez la herencia múltiple

Chema Cortes pych3m4 en gmail.com
Jue Jul 24 02:33:33 CEST 2008


El día 23 de julio de 2008 18:26, Medardo Rodriguez
<med.swl en gmail.com> escribió:
> Primero, el python no anuncia esta posibilidad como herencia multiplem
> una declaración como «class D(A, B, C)» lo que debe expresar
> semánticamente es «La clase D hereda de A y se compone por los mixins
> B y C».

Creo que merece aclararse un poco más este punto:

Una clase debería heredar únicamente los métodos __new__ y __init__ de
la clase base, que es la que determina su "tipo". Si se desea invocar
a varios inicializadores, o se hace de modo explícito, o bien se crea
una superclase "factoría" y se deriva de ella.

En general, la herencia múltiple funciona bastante bien con los
"interfaces" como los accesores (__getattribute__) o la simulación de
tipos de datos (file, list, dict,...). Fuera de este uso, hay que
andar con mucho cuidado si se espera que alguna subclase cambie el
número de argumentos de un método heredado. En este caso, la herencia
múltiple da más disgustos que beneficios.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es