[pyar] [Fwd: Re: Aprendiendo sobre Clases y Herencia]
craf
prog en vtr.net
Sab Dic 4 16:50:19 ART 2010
--------- Mensaje reenviado --------
> De: Facundo Batista <facundobatista en gmail.com>
> Reply-to: Python Argentina <pyar en python.org.ar>
> Para: Python Argentina <pyar en python.org.ar>
> Asunto: Re: [pyar] Aprendiendo sobre Clases y Herencia
> Fecha: Sat, 4 Dec 2010 16:31:05 -0300
>
> 2010/12/4 craf <prog en vtr.net>:
>
> > class Vehiculo:
> > def __init__(self,gasolina):
> > self.gasolina = gasolina
> >
> > def conducir(self):
> > self.gasolina -= 1
> > print('Quedan',self.gasolina,'de gasolina')
> >
> > class Bus(Vehiculo):
> > def __init__(self,numero):
> > self.numero = numero
> >
> > def Pasajeros(self):
> > print('Van',self.numero,'Pasajeros')
> >
> > Como se puede ver, he creado una clase Padre llamada "Vehículo" con una
> > propiedad "gasolina" y un método "conducir. Además he creado también una
> > clase hija llamada "Bus" que hereda de la clase "Vehículo", y que tiene
> > una propiedad "pasajeros" y un método llamado "Pasajeros".
>
> Ojo que estás haciendo que Bus herede de Vehiculo pero no estás
> llamando al __init__ de Vehiculo en Bus...
>
>
> > pullman = Bus(110)
> >
> > Y para mostrar el numero de pasajeros, llamaría al método Pasajeros.
> >
> > pullman.Pasajeros()
> >
> > Esto en teoría debería funcionar, pero cuando ejecuto el modulo main.py,
> > este me arroja el siguiente error:
> >
> > "Traceback(most recent call last).
> > File "main.py", line 3, in <module>
> > pullman = Bus(110)
> > TypeError: __init__() takes exactly 3 positional arguments (2 given)
>
> No.
>
> Si hacés eso con el código que pasaste arriba, funciona.
>
> >>> pullman = Bus(110)
> >>> pullman.Pasajeros()
> Van 110 Pasajeros
>
> O estás haciendo otra cosa, o tenés otro código y no el que mostraste arriba...
>
> Slds.
>
OOps,Toda la razón, me funciona ahora, (error de capa 8, entre teclado y
silla) ;=)
Saludos.
CRAF
More information about the pyar
mailing list