dans de nombreux livres et tutoriel en ligne il y a des exemples sur le passage des données à un constructeur super-classe via un modèle de méthode d'emprunt:costructors d'emprunt et de la chaîne prototype
var Parent = function(name)
{
this.name = name;
this.my_parent = "parent_property";
this.go = function()
{
alert("GO")
}
}
var Child = function(name)
{
this.name = name;
this.my_child = "child_property";
Parent.call(this);
alert(this.hasOwnProperty("go")) // HERE TRUE!!!
}
var ChildChild = function(name)
{
this.name = name;
this.su = function(){}
}
// PSEUDO CLASSICAL ECMA STANDARD
Child.prototype = new Parent("PARENT");
ChildChild.prototype = new Child("CHILD");
var c = new ChildChild("CHILDCHILD");
maintenant ma question est la suivante: cela est exact? dans ce modèle les propriétés de la super classe sont copiées dans THIS mais dans un système OOP je pense que ces propriétés doivent être dans sa super classe . Maintenant constructeur BORROWING est seulement un autre modèle pour faire une sorte d'héritage, donc je ne pouvais pas utiliser le prototype et donc toutes les propriétés de la superclasse sont dans la dernière classe enfant ... mais je ne pense pas que ce soit efficace. Donc, à la fin, comment puis-je transmettre des données à une super-classe sans ce modèle?
Merci
vous avez écrit: « » L'enfant d'appliquer prototype parents sur lui-même et donc Child.prototype a cloné propriétés et méthodes de Parent « » .call ou .Appliquer utilisent simplement une fonction d'un autre objet qui passe comme ce l'objet invocateur donc je ne comprends pas comment le prototype peut fonctionner comme tu l'as dit. – xdevel2000