interface (Instrucción)

Declara el nombre de una interfaz, así como las propiedades y métodos que contiene.

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

Argumentos

  • modifiers
    Opcional. Modificadores que controlan la visibilidad y el comportamiento de la propiedad.

  • interfacename
    Obligatorio. Nombre de la interface. Sigue las convenciones de nomenclatura estándar de las variables.

  • implements
    Opcional. Palabra clave que indica que la interfaz con nombre implementa o agrega miembros a una interfaz definida anteriormente. Si no se utiliza esta palabra clave, se crea una interfaz base estándar de JScript.

  • baseinterfaces
    Opcional. Lista de nombres de interfaz separados con comas que implementa interfacename.

  • interfacemembers
    Opcional. El parámetro interfacemembers puede referirse tanto a declaraciones de método (definidas con la instrucción function) como a declaraciones de propiedad (definidas con las instrucciones function get y function set).

Comentarios

La sintaxis de las declaraciones de interface en JScript es similar a la de las declaraciones de class. Una interfaz es como una clase (class) en la que cada miembro es abstract; sólo puede contener declaraciones de propiedad y de método sin cuerpos de función. Una interfaz (interface) puede no contener declaraciones de campo, declaraciones de inicializador o declaraciones de clase anidada. Una interface puede implementar una o más interfaces utilizando la palabra clave implements.

Una clase puede ampliar sólo una clase base, pero puede implementar muchas interfaces. Esta implementación de varias interfaces por parte de una sola clase hace posible una forma de herencia múltiple más sencilla que en otros lenguajes orientados a objetos, como C++.

Ejemplo

El siguiente código muestra cómo varias interfaces pueden heredar una implementación:

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

El resultado de este programa es:

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

Requisitos

Versión .NET

Vea también

Referencia

class (Instrucción)

function (Instrucción)

function get (Instrucción)

function set (Instrucción)

Otros recursos

Modificadores