Share via


interface, instruction

Déclare le nom d'une interface ainsi que les propriétés et les méthodes qui font partie de l'interface.

[modifiers] interface interfacename [implements baseinterfaces] {
   [interfacemembers]
}

Arguments

  • modifiers
    Facultatif. Modificateurs qui contrôlent la visibilité et le comportement de la propriété.

  • interfacename
    Obligatoire. Nom de l'interface; respecte les conventions d'affectation de noms de variable standard.

  • implements
    Facultatif. Mot clé indiquant que l'interface nommée implémente ou ajoute des membres à une interface définie précédemment. En l'absence de ce mot clé, une interface de base JScript standard est créée.

  • baseinterfaces
    Facultatif. Liste délimitée par des virgules, de noms d'interface implémentés par interfacename.

  • interfacemembers
    Facultatif. interfacemembers peut être des déclarations de méthode (définies avec l'instruction function) ou des déclarations de propriété (définies avec les instructions function get et function set).

Notes

La syntaxe des déclarations d'interface dans JScript est proche de celle qui est utilisée pour les déclarations de classe. Une interface est comme une classe dans laquelle chaque membre est **abstract **; elle ne peut contenir que des déclarations de propriété et de méthode sans corps de fonction. Une interface ne peut pas contenir des déclarations de champ, d'initialiseur ou de classe imbriquée. Une interface peut implémenter une ou plusieurs interfaces en utilisant le mot clé implements.

Une classe ne peut étendre qu'une seule classe de base, mais peut implémenter plusieurs interfaces. Cette implémentation de plusieurs interfaces par une classe autorise une forme d'héritage multiple qui est plus simple que celle d'autres langages de programmation orientée objet, comme C++.

Exemple

Le code suivant montre comment une seule implémentation peut être héritée par plusieurs interfaces.

interface IFormA {
   function displayName();
}

// Interface IFormB shares a member name with IFormA.
interface IFormB {
   function displayName();
}

// Class CForm implements both interfaces, but only one implementation of
// the method displayName is given, so it is shared by both interfaces and
// the class itself.
class CForm implements IFormA, IFormB {
   function displayName() {
      print("This the form name.");
   }
}

// Three variables with different data types, all referencing the same class.
var c : CForm = new CForm();
var a : IFormA = c;
var b : IFormB = c;

// These do exactly the same thing.
a.displayName();
b.displayName();
c.displayName();

Le résultat généré par ce programme est le suivant :

This the form name.
This the form name.
This the form name.

Configuration requise

Version .NET

Voir aussi

Référence

class, instruction

function, instruction

function get, instruction

function set, instruction

Autres ressources

Modificateurs