Bonjour à tous, je suis actuellement le tuto de Thierry Templier sur la POO en javascript et j'ai une question concernant la partie 2. Ayant besoin de mettre en pratique une "objectisation" de gros code JS je voulais créer des classes héritées pour factoriser du code redondant. J'en suis donc arrivé à retenir la dernière solution proposée avant la partie héritage multiple à savoir:
seulement voilà, j'ai peur qu'en faisant ainsi les méthodes de la classes mère écrasent les méthodes du même nom de la classe fille rendant par la même les surcharges des méthodes de la classe fille inopérantes. Serait-il plus opportun d’affecter en premier l'héritage comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function MaClasseMere(parametre1, parametre2) { this.attribut1 = parametre1; this.attribut2 = parametre2; } MaClasseMere.prototype = { methode: function() { alert("[methode] Attributs: " + this.attribut1 + ", " + this.attribut2); } } function MaClasse(parametre1, parametre2, parametre3) { MaClasseMere.call(this, parametre1, parametre2); this.attribut3 = parametre3; } MaClasse.prototype = { uneMethode: function() { alert("[uneMethode] Attributs: " + this.attribut1 + ", " + this.attribut2 + ", " + this.attribut3); } }; heriter(MaClasse.prototype, MaClasseMere.prototype); var obj = new MaClasse("parametre1", "parametre2", "parametre3"); obj.methode(); ...
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function MaClasse(parametre1, parametre2, parametre3) { MaClasseMere.call(this, parametre1, parametre2); this.attribut3 = parametre3; } heriter(MaClasse.prototype, MaClasseMere.prototype); MaClasse.prototype = { uneMethode: function() { alert("[uneMethode] Attributs: " + this.attribut1 + ", " + this.attribut2 + ", " + this.attribut3); } };
Partager