Advertisement
sanreikaj

MetaClase

Jan 21st, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. class MetaMiembro(object):
  2.     def __init__(self):
  3.         print "Inicio de la clase Miembro"
  4.         self.dato=""
  5.  
  6.     def __del__(self):
  7.         print "Fin de la clase Miembro"
  8.  
  9.     def setDato(self, dato):
  10.         self.dato = dato
  11.  
  12.     def getDato(self):
  13.         print self.dato
  14.  
  15.  
  16. class Meta(type):
  17.     def __init__(cls, name, bases, dct):
  18.         pass
  19.  
  20.     class BaseMiembro(type):
  21.         def __init__(cls, name, bases, dct):
  22.             pass
  23.  
  24.  
  25. class BasePersona(object):
  26.     __metaclass__ = Meta
  27.     Miembro = Meta.BaseMiembro('', (MetaMiembro,), {})
  28.  
  29.  
  30. class Estudiante(BasePersona):
  31.     curso = BasePersona.Miembro()
  32.     aula = BasePersona.Miembro()
  33.  
  34. # class Trabajador(BasePersona):
  35. #     especialidad = ''
  36. #     departamentos = ''
  37.  
  38. c = Estudiante()
  39. c.curso.setDato('prueba de dato para el campo curso')
  40. print c.curso.getDato()
  41.  
  42. del(c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement