Non directement - l'ancienne méthode n'est plus disponible (sauf dans l'objet d'origine).
Je l'ai fait deux choses: La première consiste à faire une copie de l'ancienne méthode avec un nouveau nom dans la sous-classe:
var Super = {
a: function() {...}
};
var _SubFuncs: {
_superA: Super.a
a: function() {... this._superA(...) ... }
};
var Sub = $.extend(false, Super, _SubFuncs);
L'autre chose que je l'ai fait au besoin est d'utiliser la modèle de modèle et ont la super classe appellent une méthode qui pour cela n'a pas de comportement. La sous-classe ajoute ensuite un comportement à la méthode vide. Cela ne fonctionne que si votre structure d'appel est telle que des "trous" peuvent être ajoutés de manière appropriée. Edit: Dans mon cas, j'essayais vraiment de coller avec des objets prototypiques, donc j'évitais une solution générale qui rend mes objets plus classe.
Je suppose que je suis juste étends un objet avec un autre, et ne pas traiter avec les classes de la façon dont Mootools le fait, donc cela aurait du sens. – Steve