鉴于以下情况:
父母有一个父母模块:
define([ParentsModule,...],
function(ParentsModule,...) {
return declare("Parent", ..., {
someFunction: function(arg) {
var a = new ParentsModule();
a.doThis(arg);
},
...
)};
});
子扩展父。有一个 ChildsModule
define([ChildsModule,Parent,...],
function(ChildsModule,Parent,... ) {
return declare("Child", [Parent], {
someFunction: function(arg) {
this.inherited(arguments);
},
...
)};
});
ParentsModule 做它自己的事情。
define([ParentsModule,...],
function(ParentsModule,... ) {
return declare("ChildsModule", [ParentsModule], {
doThis: function(arg) {
//bunch of stuff happens here.
},
...
)};
});
ChildsModule 扩展了 ParentsModule。
define([...],
function(...) {
return declare("ParentsModule",..., {
doThis: function(arg) {
return;
},
...
)};
});
不编辑“父母”,可以a.doThis(arg);
打电话ChildsModule.doThis()
吗?
我可以覆盖在父函数中实例化的模块吗?
Parent.someFunction 有很多我想使用的代码。Parent(和ParentsModule)是提供给我的一个类,我是Child(和ChildsModule)的作者。