Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Eléments du langage ActionScript > Instructions > Instruction interface | |||
interface InterfaceName [extends InterfaceName ] {}
Remarque : Pour utiliser ce mot-clé, vous devez spécifier ActionScript 2.0 et Flash Player 6 ou une version plus récente dans l'onglet Flash de la boîte de dialogue Paramètres de publication de votre fichier FLA. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.
Définit une interface. Une interface est similaire à une classe. Les différences fondamentales sont regroupées ci-dessous :
get et set ne sont pas autorisées dans les définitions d'interface.Disponibilité : ActionScript 2.0 ; Flash Lite 2.0
L'exemple suivant présente plusieurs façons de définir et d'implémenter des interfaces :
(in top-level package .as files Ia, B, C, Ib, D, Ic, E)
// Nom de fichier la.as
interface Ia {
function k():Number; // Déclaration de méthode uniquement
function n(x:Number):Number; // Sans implémentation
}
// Nom de fichier B.as
class B implements Ia {
function k():Number {
return 25;
}
function n(x:Number):Number {
return x + 5;
}
} // Script externe ou fichier script dans le panneau Actions
var mvar:B = new B();
trace(mvar.k()); // 25
trace(mvar.n(7)); // 12
// Nom de fichier c.as
class C implements Ia {
function k():Number {
return 25;
}
} // Erreur : la classe doit implémenter toutes les méthodes d'interface
// Nom de fichier lb.as
interface Ib {
function o():Void;
}
class D implements Ia, Ib {
function k():Number {
return 15;
}
function n(x:Number):Number {
return x * x;
}
function o():Void {
trace("o");
}
} // Script externe ou fichier script dans le panneau Actions
mvar = new D();
trace(mvar.k()); // 15
trace(mvar.n(7)); // 49
trace(mvar.o()); // "o"
interface Ic extends Ia {
function p():Void;
}
class E implements Ib, Ic {
function k():Number {
return 25;
}
function n(x:Number):Number {
return x + 5;
}
function o():Void {
trace("o");
}
function p():Void {
trace("p");
}
}