首先吐槽一下sencha官网extjs API中文就像是屎一样的烂。
1. extend只支持单继承,为了实现多继承引入了mixins,但是mixins也可以实现单继承。
2.
Ext.define('CanSing', {
sing: function() {
alert("大河向东流啊...");
}
});
Ext.define('Musician', {
mixins: 'CanSing'
});
在以上例子中,Musician类就会得到CanSing类中的sing方法
3.但是,如果Musician类中也有一个sing方法,或者你想将一个’C‘ 类同时继承自A和B类,但是A和B又同时有sing方法,这时候就造成了冲突。这时候,就是mixins一展身手的时候了,你且看:
Musician类给父类CanSing命名了一个新的名字,叫做canSing,注意大小写。然后在子类Musician的函数sing中访问了父类CanSing的sing函数。