Pregunta

Tengo una pregunta sobre la herencia múltiple en extjs. Si bien sé que simplemente puedo duplicar el código para que suceda, pero quiero saber si hay alguna forma de codificarlo de manera más eficiente.

Tengo un personalizado GridPanel componente en mi marco, llamado Kore.ux.grid.GridPanel. Se extiende Ext.GridPanel con funcionalidades extra comunes y proporciona interfaz para acciones de descanso.

Poco después, mi colega quería tener EditorGridPanel Para ser implementado de la misma manera, es decir, ella quiere que sea editable y, al mismo tiempo, tiene la capacidad de realizar acciones de descanso fácilmente.

Mi pregunta es, ¿hay alguna forma de extender? Ext.EditorGridPanel para tomar el personalizado Kore.ux.grid.GridPanel funcionalidades?

Perdón por cualquier error gramatical y puedo reformularlo si es confuso. ¡¡Gracias!!

EDITAR

Busqué en Google de nuevo y encontré hilos diciendo que es imposible. ¿Hay algún mejor patrón de codificación que deba seguir si tengo este problema?

¡Gracias!

Editar de nuevo

Lo siento, encontré la estructura que me conviene. Aquí está el método que me pareció útil:

var Common = function(){}   //abstract class
Ext.apply(Common.prototype, {

    a : function(){},
    b: function(){}...

});

Ext.ux.SomePanelA = Ext.extend ( Ext.Panel, {

    stuff : ............

});

Ext.ux.SomePanelB = Ext.extend ( Ext.Panel, {

    diffStuff : ............

});

Ext.applyIf(Ext.ux.SomePanelA.prototype, Common.prototype);
Ext.apply(Ext.ux.SomePanelB.prototype, Common.prototype);

Fuente del código: http://www.sencha.com/forum/showthread.php?48000-multiple-inheritance&p=228271&viewfull=1#post228271

Vuelva a proporcionar sugerencias útiles si cree que tiene una mejor solución :) ¡Gracias!

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top