S > super |
super
Disponibilité
Flash Player 6.
Usage
super.méthode([param1, ...,paramN]) super([param1, ...,paramN])
Paramètres
méthode La méthode à invoquer dans la superclasse.
param1 Des paramètres facultatifs qui sont transmis à la version superclasse de la méthode (syntaxe 1) ou à la fonction constructeur de la superclasse (syntaxe 2).
Renvoie
Les deux formes invoquent une fonction. La fonction peut renvoyer n'importe quelle valeur.
Description
Opérateur : le premier style de syntaxe peut être utilisé dans le corps d'une méthode d'objet pour invoquer la version superclasse d'une méthode, et peut en option transmettre des paramètres (param1 ... paramN) à la méthode de superclasse. Ceci est utile pour créer des méthodes de sous-classe qui ajoutent un comportement supplémentaire aux méthodes superclasse, mais qui invoquent également les méthodes superclasse pour remplir leur comportement d'origine.
Le deuxième style de syntaxe peut être utilisé dans le corps d'une fonction constructeur pour invoquer la version superclasse de la fonction constructeur, et peut en option lui transmettre des paramètres. Ceci est utile pour créer une sous-classe qui effectue une initialisation supplémentaire, mais qui invoque également le constructeur de superclasse pour effectuer une initialisation de superclasse.
Exemple
L'exemple suivant crée deux classes, ClasseParent et ClasseEnfant, et définit une méthode appelée méthode pour chaque classe. Chaque définition de méthode comporte une action trace qui envoie un message à la fenêtre Sortie. L'avant-dernière ligne de code crée une occurrence de ClasseEnfant et appelle sa méthode méthode :
function ClasseParent() {
}
ClasseParent.prototype.méthode = function () {
trace("implémentation ClasseParent de méthode");
};
function ClasseEnfant() {
}
ClasseEnfant.prototype = new ClasseParent();
ClasseEnfant.prototype.méthode = function () {
trace("implémentation ClasseEnfant de méthode");
super.méthode();
};
x = new ClasseEnfant();
x.méthode();
Le résultat suivant est affiché dans la fenêtre Sortie :
implémentation ClasseEnfant de méthode implémentation ClasseParent de méthode
L'exemple suivant transmet des paramètres au super constructeur :
function SuperClasse(param){
trace("Le constructeur SuperClasse a reçu " + param);
}
function SousClasse(param){
super(param);
trace("constructeur SousClasse");
}