On 07/07/15 12:28, Antonio Roncero wrote:
Hola, sigo con mi iniciacion a la programacion. Ahora estoy con la
herencia.
En openerp tenia 2 tipos de herencia
* Herencia de clase: añadia campos que eran visibles en las vistas
de la clase original
* Herencia por prototipo: Creaba una nueva clase copiando las
propiedades de la clase padre
* Herencia polimorfica: permitia heredar de varias clases y creaba
una tabla nueva con la referencia al objeto de las clases
heredadas y los campos nuevos.
En tryton, por lo que me ha parecido leer, solo hay una, que según he
entendido es una mezcla de las dos primeras de openerp, es decir añade
campos a la tabla original pero no se ven en la vista a no ser que la
creemos.
¿Como se podria tener herencia de los tipos dos? es decir, una que me
cree un nuevo modelo (con su propio __name__) que herede los campos y
metodos del padre. Y del tipo 3, es decir, una que me permita heredar
de varias clases a la vez.
Los dos casos se pueden hacer usando la herencia de Python. Las
herencias de Tryton son simplemente las herencias que te proporciona el
propio lenguage python.
Por ejemplo mírate el módulo account_bank que permite añadir cuentas
bancaris en facturas, apuntes contables, etc. Se define una clase base
BankMixin (por convenio llevan la palabra Mixin al final) donde defines
campos y métodos comunes y luego creas o amplias clases existentes a
partir de este Mixin:
class Invoice(BankMixin):
class Line(BankMixin):
class CompensationMoveStart(ModelView, BankMixin):
--
Jordi Esteve
Consultor Zikzakmedia SL
jest...@zikzakmedia.com
Mòbil 679 170 693
Zikzakmedia SL
St. Jaume, 9, baixos, 2a
08720 Vilafranca del Penedès
Tel 93 890 2108