gpt4 book ai didi

javascript - mootools 扩展类

转载 作者:行者123 更新时间:2023-11-28 13:51:17 25 4
gpt4 key购买 nike

我有这个代码:

var MyClass = new Class({
Implements: [Options,Events],
initialize: function(){

},
doStuff: function() {
console.log('In MyClass');
}
});


var MyBetterClass = new Class({
Extends: MyClass,
initialize: function() {

},
doExtraStuff: function() {
console.log('In MyBetterClass');
}
});

var a = new MyBetterClass();

当在某处调用 doStuff 时,我希望 doExtraStuff 也被调用。我该怎么做呢?这样我就不必乱搞别人的代码,但是当他们的代码中发生某些事情时,我希望我的代码中发生其他事情。父类中没有触发任何事件。

最佳答案

不能在父类中调用子类方法。您可以重写父类的doStuff方法,通过子类的parent属性调用父类的方法,然后实现自己的代码。

super 类

var MyClass = new Class({
Implements: [Options,Events],
initialize: function(){

},
doStuff: function() {
console.log('In MyClass');
}
});

子类

var MyBetterClass = new Class({
Extends: MyClass,
initialize: function() {

},
doStuff: function() {
this.parent();
console.log('In MyBetterClass');
// your own implementation of this method
}
});

然后

var a = new MyBetterClass();
a.doStuff(); // prints on console "In MyClass" and "In MyBetterClass"

关于javascript - mootools 扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com