muy basico, algo de herencia
Batista, Facundo
FBatista en uniFON.com.ar
Vie Oct 15 19:13:09 CEST 2004
[jtempo]
#- si tengo un clase
#-
#- class Persona(object):
#- def __init__ (self, nombre, apellido):
#- self.Nombre= Nombre
#- self.Apellido=Apellido
#-
#- def NombreCompleto(self):
#- return "%s, %s" % (self.Apellido, self.Nombre)
#-
#- si hago
#- var= Persona('Juan','Perez')
#- var.NombreCompleto() # me devuelve 'Perez, Juan'
#-
#- Ahora deseo hacer una clase 'hija' de esta y agregarle un par de
#- propiedades HorasTrabajadas y PrecioPorHora
#-
#- class Empleado(Persona)...
#- def Sueldo
#- sueldo=HorasTrabajadas*PrecioPorHora
#- return sueldo
#-
#- Cómo sigue, no consigo hacerlo funcionar, quiero agregar
#- esos atributos
#- (HorasTrabajadas y PrecioPorHora), perdonen que sea muy
#- basico, per o
#- estoy muy atascado con esto y no consigo resolverlo gracias
#- de Antemano.
Te refieres a algo así?
>>> class Persona(object):
def __init__ (self, nombre, apellido):
self.nombre = nombre
self.apellido = apellido
def nombreCompleto(self):
return "%s, %s" % (self.apellido, self.nombre)
>>> p = Persona("juan", "perez")
>>> p.nombreCompleto()
'perez, juan'
>>> class Empleado(Persona):
def __init__(self, nombre, apellido, horas, precio):
self.horas = horas
self.precio = precio
Persona.__init__(self, nombre, apellido)
def sueldo(self):
return self.horas * self.precio
>>> e = Empleado("jose", "rodriguez", 50, 2.5)
>>> e.sueldo()
125.0
>>> e.nombreCompleto()
'rodriguez, jose'
Ten en cuenta que te convendría trabajar con Decimal
(http://www.python.org/dev/doc/devel/lib/module-decimal.html) si te vas a
meter con precios y sueldos.
Slds.
. Facundo
Más información sobre la lista de distribución Python-es