J'ai deux fichiers: BaseClass.js et DerivedClass.js. Contenu comme ci-dessousFermetures Javascript et héritage
//---------------------BaseClass.js----------------------------
(function() {
BaseClass= function() { };
BaseClass.prototype.getTestVar = function() {
return 'base test variable';
};
})();
//----------------DerivedClass.js----------------------------
(function() {
DerivedClass= function() { };
DerivedClass.inherits(BaseClass);
DerivedClass.prototype = new BaseClass();
DerivedClass.prototype = {
newvar : 'derived func variable ',
getNewVar : function() { return this.newvar; }
};
})();
Dans mon fichier html 'test.html Je donne les résultats suivants
var dc = new DerivedClass();
alert(
'The value in newvar of derived class ' + dc.getNewVar() +
' base class variable ' + dc.getTestVar()
);
je reçois l'erreur Javascript que dc.getTestVar() n'est pas une fonction. Toute aide pour résoudre ce problème est très appréciée.
Utilisez-vous une sorte de bibliothèque de POO? Les fonctions Javascript n'ont pas de méthode 'inherits' intégrée, à ma connaissance ... – Matchu
Oh, c'est [le sucre OOP de Crockford] (http://www.crockford.com/javascript/inheritance.html#sugar)? – Matchu