Flex ActionScript – Interface en ActionScript 3
ActionScript 3.0 permet aussi de définir des interfaces. Les interfaces permettent de séparer l'interface de l'implémentation, ce qui permet d'avoir plus de flexibilité dans vos applications.
Ce que vous avez appris sur les déclarations de classe en ActionScript s'applique à la déclaration d'interface. En fait, il est même plus simple de lister les différences:
- Les interfaces utilisent le mot-clé interface plutôt que le mot-clé class
- Les interfaces ne peuvent pas déclarer de propriétés
- Les méthodes d'interface déclarent la signature de la méthode mais pas son implémentation
- Les interfaces déclarent seulement l'interface public pour l'implémentation des classes, c'est pourquoi la déclaration des méthodes n'autorise pas les modifiers
Par convention, les noms d'interface commencent avec un I majuscule. Voici un exemple d'interface:
package com.exemple{
public interface IExemple{
function a():String;
function b(one:String, two:uint):void;
}
}
Dans l'exemple précédent, l'interface indique que l'implémentation de la classe doit déclarer les méthodes a() et b() en utilisant les signatures spécifiées.
Vous pouvez déclarer une classe qui implémente une interface en utilisant le mot-clé implements, suivi par le nom de la classe. L'exemple suivant implémente IExemple:
package com.exemple{
import com.exemple.IExemple;
public class Exemple implements IExemple {
public function Exemple(){
}
public function a():String{
return "a";
}
public function b(one:String, two:uint):void{
trace (one +" "+ two);
}
}
}
Quand une classe implémente une interface, le compilateur vérifie que les éléments requis sont présents. Si ce n'est pas le cas, le compilateur lance une erreur. Une classe peut implémenter des méthodes au delà de celles spécifiées par l'interface, mais elle doit toujours implémenter au moins ces méthodes. Une classe peut aussi implémenter plusieurs interfaces, en les listant après le mot-clé interface (public class Exemple implements IExemple, IAutre).
Articles similaires
- Flex ActionScript – Héritage en ActionScript 3
- Flex Modules – Utiliser des interfaces ActionScript pour communiquer avec l'application
- Flex Item Renderer – Item Renderer utilisant des composants personnalisés (MXML Component)
- Flex Item Renderer – Un itemRenderer optimisé en héritant de UIComponent
- Flex ActionScript – Getter/Setter en ActionScript 3
Aucun trackbacks pour l'instant






27 mai 2009
"Une méthode peut aussi implémenter plusieurs interfaces," plutôt une classe non?
27 mai 2009
Oui, effectivement
Merci
Fabien