Share via


interface-Anweisung

Deklariert den Namen, die Eigenschaften und die Methoden einer Schnittstelle.

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

Argumente

  • modifiers
    Optional. Modifizierer, die die Sichtbarkeit und das Verhalten der Eigenschaft steuern.

  • interfacename
    Erforderlich. Der Name der interface-Schnittstelle. Entspricht den Standardnamenskonventionen für Variablen.

  • implements
    Optional. Ein Schlüsselwort, das angibt, dass die benannte Schnittstelle eine zuvor definierte Schnittstelle implementiert oder dieser Schnittstelle Member hinzufügt. Wenn das Schlüsselwort nicht verwendet wird, wird eine JScript-Standardbasisschnittstelle erstellt.

  • baseinterfaces
    Optional. Eine kommagetrennte Liste mit den von interfacename implementierten Schnittstellennamen.

  • interfacemembers
    Optional. Bei interfacemembers kann es sich um Methodendeklarationen (durch die function-Anweisung definiert) oder um Eigenschaftendeklarationen (durch die function get-Anweisung und die function set-Anweisung definiert) handeln.

Hinweise

Die Syntax für interface-Deklarationen in JScript ähnelt der Syntax für class-Deklarationen. Eine Schnittstelle entspricht einer class, in der jeder Member abstract ist, und kann nur Eigenschaften- und Methodendeklarationen ohne Funktionstext enthalten. Ein interface darf keine Feld- und Initialisierungsdeklarationen und keine Deklarationen geschachtelter Klassen enthalten. interface kann mit dem Schlüsselwort implements ein oder mehrere interfaces implementieren.

Eine class darf nur eine Basis-class erweitern, jedoch viele interfaces implementieren. Wenn eine class mehrere interfaces implementiert, ist eine Form der Mehrfachvererbung möglich, die einfacher ist als in anderen objektorientierten Sprachen wie C++.

Beispiel

Der folgende Code veranschaulicht die Vererbung einer Implementierung an mehrere Schnittstellen.

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();

Ausgabe dieses Programms:

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

Anforderungen

Version .NET

Siehe auch

Referenz

class-Anweisung

function-Anweisung

function get-Anweisung

function set-Anweisung

Weitere Ressourcen

Modifizierer