Salut a tous,
Jusqu'a aujourd'hui, j'utilise cette maniére pour déclarer une class en javascript:
Pour déclarer une classe qui herite de MaClasse je fait ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function MaClasse(aId) { console.debug('constructeur'); this.id = aId; ... ... } MaClasse.prototype.init = function() { .... } MaClasse.prototype.doChange = function() { .... }
Bon ca marche bien, je n'ai pas a m'en plaindre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function Enfant(aId) { MaClasse.call(this,aId); //appel du constructeur du parent ... ... } Enfant.prototype = new MaClasse(); Enfant.prototype.doChange = function() { /*surcharge*/ }
Mais je remarque (grace a mon console.debug)
que Enfant.prototype = new MaClasse(); cree un objet MaClasse,
et cela meme si je ne cree pas d'objet Enfant dans mes scripts !
Donc j'execute du code inutilement. Surtout que j'utilise assez intensivement les heritages.
Donc je me posais la question suivante :
Ne serait il pas plus judicieux de faire
Merci de me donner votre avis ou de m'indiquer une autre facon de faire plus elegante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function Enfant(aId) { MaClasse.call(this,aId); //appel du constructeur du parent ... ... } Enfant.prototype = MaClasse.prototype;
A+ Thierry
Partager