[pyar] Herencia en Python

Ezequiel Trapani etrapani04 en gmail.com
Dom Feb 28 10:40:19 ART 2016


Buenos días,

Estoy haciendo un curso sobre python y tengo una actividad en la que tengo
que aplicar POO y usar herencia. El problema es el siguiente, tengo una
clase X y una clase Y que hereda de X. Cuando defino el constructor de Y,
tengo que llamar al constructor de X. El problema es que me sale el
siguiente error:

Traceback (most recent call last):
  File "submission.py", line 64, in __init__
    super(self.__class__, self).__init__(name,desired_species)
TypeError: must be type, not classobj

La definición del constructor de la clase Y es la siguiente:


class Y(X):
    def __init__(self, name,adress, cellphone):
        super(self.__class__, self).__init__(name,adress)
        self.cellphone =  cellphone

Leyendo en foro detecte que el problema es que la clase X esta definida de
la siguiente manera:

"class X:" y no "class X(object):" Si yo  ajusto el programa a la segunda
declaración el problema se resuelve. Sin embargo en el curso que estoy
haciendo yo no puedo modificar la clase X, solo tengo que agregar el código
de la clase Y para resolver el problema. Mi pregunta es existe alguna otra
forma de declarar el constructor de Y, para solucionar el problema?



Desde ya muchas gracias.
Saludos,
Ezequiel
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160228/24a5581f/attachment.html>


Más información sobre la lista de distribución pyar