Declaração de interface.
Declara o nome de uma interface, bem como as propriedades e métodos que compõem a interface.
[modifiers] interface interfacename [implements baseinterfaces] {
[interfacemembers]
}
Argumentos
modificadores
Opcional. Modificadores de controlam a visibilidade e o comportamento da propriedade.InterfaceName
Obrigatório. O nome da interface; segue as convenções de nomenclatura de variáveis padrão.implementa
Opcional. Palavra-chave, indicando que implementa a interface nomeada, ou adiciona membros a uma interface definida anteriormente. Se esta palavra-chave não for usado, é criada uma interface de base de JScript padrão.baseinterfaces
Opcional. Uma lista delimitada por vírgulas de nomes de interface que são implementadas por interfacename.interfacemembers
Opcional. interfacememberspode ser tanto declarações de método (definido com o função instrução) ou declarações de propriedade (definidos com o obter a função e definir a função instruções).
Comentários
A sintaxe para interface declarações de JScript é semelhante de classe declarações. Uma interface é como um classe em que cada membro está abstrata; Ele só pode conter declarações de propriedade e método sem corpos de função. Um interface não pode conter declarações de campo, declarações de inicializador ou classe aninhada declarações. Um interface pode implementar um ou mais interfaces usando o implementa palavra-chave.
A classe podem se estender apenas uma base classe, mas um classe pode implementar várias interfaces. Tal implementação de vários interfaces por um classe permite uma forma de herança múltipla, é mais simples do que em outras orientada a objeto linguagens, por exemplo, em C++.
Exemplo
O código a seguir mostra como uma implementação pode ser herdada por várias 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();
A saída deste programa é:
This the form name.
This the form name.
This the form name.