Otra vez la herencia múltiple

Alexis Roda alexis.roda.villalonga en gmail.com
Mar Jul 22 20:32:40 CEST 2008


En/na Beni ha escrit:
> Tengo este código de ejemplo:

Lo que intentas hacer me parece un tanto extraño. Entiendo que esperas 
que el __init__ de D llame automáticamente al __init__ de B y A, pero la 
signatura de estos métodos es distinta!

> A parte de que, parece que sobreescribe los métodos por el orden de la
> definción de la clase:
> 
> - C(A, B) usa el init de A
> - D(B, A) usa el init de B
> 
> ¿Como puedo llamar a ambos métodos init desde la clase hija con los
> parámetros que guste?

Te faltan sendas llamadas a super(A, self) y super(B, self) en el método 
__init__ de las clases A y B respectivamente.

Para ampliar detalles puedes consultar:

http://www.python.org/download/releases/2.2.3/descrintro/#cooperation




Saludos

_______________________________________________
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