Un problema de herencia múltiple.
José Miguel Sánchez Alés
aussiliar en online.fr
Mar Ene 15 15:54:10 CET 2008
El Tue, 15 de Jan de 2008, a las 01:37:39PM +0100, Chema Cortes dijo:
> [...]
> Lo del MRO (Method Resolution Order) te lo explica aquí:
> <http://cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html#id837781>
Gracias. Les echaré un vistazo. Esta mañana leí un poco sobre el asunto y
creí entender cómo resolver la situación:
#v+
class A(object):
def __init__(self):
self.naderia='no hace nada de particular.'
class B1(A):
def __init__(self):
self.mensaje='Es heredera de %s...' % B1.__name__
super(B1,self).__init__()
def declaracion(self):
print self.mensaje
print 'aunque, en realidad, ', self.naderia
class B2(A):
def __init__(self):
self.mensaje='Es heredera de %s...' % B2.__name__
super(B1,self).__init__()
def declaracion(self):
print self.mensaje
print 'Aunque, en realidad, ', self.naderia
class C(A):
def __init__(self):
super(C,self).__init__()
def declaracion(self):
print 'La clase %s, con la interlocución de %s, hace saber que:' \
% (self.__class__.__name__,C.__name__)
super(C,self).declaracion()
class D1(C,B1):
pass
class D2(C,B2):
pass
#v-
Algo así, ¿no?
Muchísimas gracias, Chema, por la pequeña lección. Acabo de descubrir algo nuevo
y realmente interesantísimo.
--
-- Hoy he reñido a un hostelero.
-- ¿Por qué? ¿Cuándo? ¿Dónde? ¿Cómo?
-- Porque cuando donde como
sirven mal, me desespero
--- Tomás de Iriarte ---
Si Dióxido de Silicio | Debian GNU/Linux
/ \ (SiO2) | José Miguel Sánchez Alés
O O Mineral de Cuarzo | aussiliar en online.fr | URL #257033
_______________________________________________
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