Condividi tramite


Istruzione interface

Aggiornamento: novembre 2007

Consente di dichiarare il nome di un'interfaccia nonché le proprietà e i metodi corrispondenti.

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

Argomenti

  • modifiers
    Facoltativo. Modificatori che controllano la visibilità e il comportamento della proprietà.

  • interfacename
    Obbligatorio. Nome dell'interfaccia dichiarata con interface, conforme alle convenzioni di denominazione standard delle variabili.

  • implements
    Facoltativo. Parola chiave indicante che l'interfaccia specificata implementa o aggiunge membri a un'interfaccia definita precedentemente. Se tale parola chiave non è utilizzata, viene creata un'interfaccia di base JScript standard.

  • baseinterfaces
    Facoltativo. Elenco delimitato da virgole di nomi di interfaccia implementati da interfacename.

  • interfacemembers
    Facoltativo. L'argomento interfacemembers può essere rappresentato da dichiarazioni di metodi (definite mediante l'istruzione function) o dichiarazioni di proprietà (definite mediante le istruzioni function get e function set).

Note

La sintassi delle dichiarazioni di interface in JScript è simile a quella delle dichiarazioni di classe. Un'interfaccia si comporta come una classe in cui ogni membro è astratto. Può contenere solo dichiarazioni di proprietà e di metodo senza i corpi delle funzioni. Un'interface non può contenere dichiarazioni di campo, di inizializzatore o di classi nidificate. Inoltre, può implementare una o più interfacce mediante la parola chiave implements.

Una classe può estendere solo una classe base, ma può implementare più interfacce. L'implementazione di più interfacce a opera di una classe consente una forma di ereditarietà multipla più semplice di quella disponibile in altri linguaggi di programmazione orientati ad oggetti, quali ad esempio C++.

Esempio

Nel codice seguente viene illustrato come una sola implementazione possa essere ereditata da più interfacce.

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

L'output del programma è il seguente:

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

Requisiti

Versione .NET

Vedere anche

Riferimenti

Istruzione class

Istruzione function

Istruzione function get

Istruzione function set

Altre risorse

Modificatori