Código Python:
# PropertiesVer original
from datetime import date class Obra(object): def __init__(self, anno, autor, fechaIngreso, valorBase,indiceCre): self._anno = anno self._autor = autor self._fechaIngreso = fechaIngreso self._valorBase = valorBase self._indiceCre = indiceCre def CantAnnos(self): now = date.today() birthday = date(self._anno, 1, 1) age = now - birthday return age.days def _getAnno(self): return self._anno def _getAutor(self): return self._autor def _getFechaIngreso(self): return self._fechaIngreso def _getValorbase(self): return self._valorBase def _getIndice(self): return self._indiceCre anno = property(fget = _getAnno) autor = property(fget = _getAutor) fecha = property(fget = _getFechaIngreso) valorBase = property(fget = _getIndice)
aqui tengo la clase obra, esta correcto declarar las property asi o no y si alguien me pudiera aclarar el tema de los atributos y las property bien
Código Python:
Ver original
import Obra class Pintura(Obra.Obra): def __init__(self, anno, autor, fechaIngreso, valorBase,indiceCre, dim,tecnica, material): Obra.Obra.__init__(self,anno, autor, fechaIngreso, valorBase,indiceCre) self._dim = dim self._tecnica = tecnica self._material = material def ValorObra(self): valor = 0.0 if 1300 < Obra.Obra.anno < 1599: valor = 0.6 elif 1600 < Obra.Obra.anno < 1799 : valor = 0.4 elif 1800 < Obra.Obra.anno : valor = 0.2 return Obra.Obra._valorBase * valor * Obra.Obra.CantAnnos() class Escultura(Obra.Obra): def __init__(self, anno, autor, fechaIngreso, valorBase,indiceCre, material, peso, volumen): super(Escultura, self).__init__(anno, autor, fechaIngreso, valorBase,indiceCre) self._material = material self._peso = peso self._volumen = volumen def ValorObra(self): valor = 0.0 if 1300 < Obra.Obra._anno < 1599: valor = 0.7 elif 1600 < Obra.Obra._anno < 1799 : valor = 0.5 elif 1800 < Obra.Obra._anno : valor = 0.3 return Obra.Obra._valorBase * valor * Obra.Obra.CantAnnos(self)
esta es la clase pintura y escultura que son hijas de Obra, decir que yo tengo un fichero para cada clase, es decir tengo un Obra.py, Pintura.py y un Escultura.py , esto cuando lo ejecuto me da un error es decir no se como en una clase hija hacer referencia a los elementos de una clase padre. otro elemento que gustaria que me aclaran es sobre el tiempo de vida de las variables ,por ejeplo en java el tiempo de vida de la variable es en bloque de instrucciones que se alla declarado, por ejemplo dentro de un if.
agradecere la ayuda de verdad que soy nuevo y he pasado un poco de trabajo, ahh estoy trabajndo con python 3.0 por si existe alguna variante con respecto a versiones anteriores.
saludos manuelle