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

Responder a