Bonne façon d'appeler super-classe des fonctions de la sous-classe

J'ai un "super-classe" avec "info" comme une variable d'instance. "Superclasse" a la fonction "printInfo()". "printInfo()" doit accéder à la variable d'instance "info".
Je veux créer une "sous-classe" qui a aussi la méthode "printInfo()". Je veux l'appeler printInfo() de "super-classe" à partir de "printInfo()" de la "sous-classe".

SuperClass = function()
{
    this.info = "I am superclass";
    console.log("SuperClass:");
};

SuperClass.prototype.printInfo = function(that)
{
    console.log("printing from superclass printInfo");
    console.log(that.info);
};

SubClass = function(){};

SubClass.prototype = new SuperClass();

SubClass.prototype.printInfo = function()
{
    console.log("calling superclass");
    this.constructor.prototype.printInfo(this);
    console.log("called superclass");
};

var sc = new SubClass();
sc.printInfo();

Vous pouvez le constater, je suis de passage "que" en tant que paramètre à printInfo. Sans que "paramètre", "info" est imprimé en tant que "undefined". Comme dans le cas suivant, "this.info" n'est pas définie lorsque cette fonction est appelée à partir de l'objet de la "sous-classe".

SuperClass.prototype.printInfo = function()
    {
        console.log("printing from superclass printInfo");
        console.log(this.info);
    };

Quelle est la bonne façon de remplacer et appeler des méthodes de la super-classe en javascript, permettant à des fonctions pour accéder aux variables d'instance de la classe?

InformationsquelleAutor coolscitist | 2014-04-15