Re: prototype je comprends pas
prototype crée en effet des objets "synchrones"...
Pour utiliser les propriétés et les méthodes d'une classe dans une autre classe pour en faire des pseudos "extends", je crée un objet à l'intérieur de ma classe. Il y a peut-être moyen de faire mieux, mais ça marche bien et je n'ai jamais eu le temps de chercher une manière plus élégante de le faire.
Ainsi, supposons que j'ai une classe Vehicule et que je veux faire une classe Camion qui profite des propriétés et méthodes de Vehicule, je procède de cette manière :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
function Vehicule(nbRoues, carburant){
var nbRoues = nbRoues ;
this.carburant = carburant ;
this.getNbRoues = function(){
return nbRoues ;
}
return this ;
}
function Camion(nbRoues, carburant, essieux){
this.vehicule = new Vehicule(nbRoues, carburant) ;
this.essieux = essieux ;
return this ;
}
var ford150 = new Camion(4, "essence", 2) ;
alert(ford150.vehicule.getNbRoues()); |