[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