Compartilhar via


demonstrativo de classe

Declara o nome de uma classe bem sistema autônomo uma definição de variáveis, propriedades e métodos que compõem a classe.

[modifiers] class classname [extends baseclass] [implements interfaces]{
   [classmembers]
}

Argumentos

  • modifiers
    Opcional.Modificador controlam a visibilidade e o comportamento da classe.

  • nome da classe
    Obrigatório.Nome do classe; segue convenções de nomenclatura de variável padrão.

  • amplia
    Opcional.Palavra-chave que indica que a classe nome da classe extends BaseClass.Se esta palavra-chave não for usada, uma classe base padrão do JScript é criada que estende sistema.objeto.

  • BaseClass
    Opcional.O nome da classe que está sendo estendido.

  • implementa
    Opcional.Palavra-chave que indica que a classe nome da classe implementa uma ou mais interfaces.

  • interfaces
    Opcional.Uma lista delimitada por vírgulas de nomes de interface.

  • classmembers
    Opcional.classmembers pode ser declarações de método ou construtor (definida com o função demonstrativo), declarações de propriedade (definidas com o função get and conjunto de funções instruções), (definidas com o declarações de campovar ou Const instruções), declarações de inicializador (definidas com o estático demonstrativo), declarações de enumeração (definidas com o enum demonstrativo), ou declarações de classe aninhada.

Comentários

Classes podem ser usadas para criar instâncias ou servir sistema autônomo base para Outros classes, dependendo dos modificadores de classe.Se uma classe estiver marcada com o Resumo modificador, a classe pode servir sistema autônomo uma classe base para Outros classes para estender, mas instâncias de um Resumo classe não pode ser criado.Se uma classe estiver marcada com o final modificador, instâncias da classe podem ser criadas com o novo operador, mas a classe não pode servir sistema autônomo base.

Métodos e construtores podem ser sobrecarregados em uma classe.Conseqüentemente, vários métodos (ou construtores) podem ter os mesmos nomes.Membros da classe sobrecarregada são diferenciados por suas assinaturas exclusivas, que consistem em nome do membro e o tipo de dados de cada um de seus parâmetros formais.Sobrecargas permitem uma classe para métodos de agrupar com uma funcionalidade semelhante.

Uma classe pode herdar a funcionalidade de uma classe base existente usando o amplia palavra-chave.Métodos da classe base podem ser substituídos, declarando um novo método com a mesma assinatura que o novo método de classe.Métodos na nova classe podem acessar membros substituídos da classe base usando o Super demonstrativo.

Uma classe pode ser padronizada em um ou mais interfaces usando o implementa palavra-chave.Uma classe não pode herdar qualquer comportamento de uma interface como uma interface não fornece uma implementação para qualquer membro.Uma interface fornece a classe com uma 'assinatura' que pode ser usada ao interagir com outras classes.A menos que a classe que implementa uma interface é Resumo, uma implementação deve ser fornecida para cada método definido na interface.

Modificadores podem ser usados para fazer uma instância de classe funcione como um objeto JScript.Para permitir uma instância de classe manipular propriedades adicionadas dinamicamente, use o expando modificador, que cria automaticamente um padrão indexados propriedade para a classe. Propriedades de expando só são acessíveis usando a notação de colchete do JScript Object objeto.

Exemplo 1

O exemplo a seguir cria um CPerson classe com vários campos e métodos, cujos detalhes foram omitidos. The CPerson classe serve sistema autônomo a classe base para o CCustomer classe no segundo exemplo.

// All members of CPerson are public by default.
class CPerson{
   var name : String;
   var address : String;

   // CPerson constuctor
   function CPerson(name : String){
      this.name = name;
   };

   // printMailingLabel is an instance method, as it uses the
   // name and address information of the instance.
   function printMailingLabel(){
      print(name);
      print(address);
   };

   // printBlankLabel is static as it does not require
   // any person-specific information.
   static function printBlankLabel(){
      print("-blank-");
   };
}

// Print a blank mailing label.
// Note that no CPerson object exists at this time.
CPerson.printBlankLabel();

// Create a CPerson object and add some data.
var John : CPerson = new CPerson("John Doe");
John.address = "15 Broad Street, Atlanta, GA 30315";
// Print a mailing label with John's name and address.
John.printMailingLabel();

A saída desse código é:

-blank-
John Doe
15 Broad Street, Atlanta, GA 30315

Exemplo 2

A CCustomer classe é derivada de CPerson, com campos adicionais e métodos não aplicáveis a um membro genérico da CPerson classe.

// Create an extension to CPerson.
class CCustomer extends CPerson{
   var billingAddress : String;
   var lastOrder : String;

   // Constructor for this class.
   function CCustomer(name : String, creditLimit : double){
      super(name); // Call superclass constructor.
      this.creditLimit = creditLimit;
   };

   // Customer's credit limit. This is a private field
   // so that only member functions can change it. 
   private var creditLimit : double;
   // A public property is needed to read the credit limit.
   function get CreditLimit() : double{
      return creditLimit;
   }
}

// Create a new CCustomer.
var Jane : CCustomer = new CCustomer("Jane Doe",500.);
// Do something with it.
Jane.billingAddress = Jane.address = "12 Oak Street, Buffalo, NY 14201";
Jane.lastOrder = "Windows 2000 Server";
// Print the credit limit.
print(Jane.name + "'s credit limit is " + Jane.CreditLimit);
// Call a method defined in the base class.
Jane.printMailingLabel();

A saída desta parte do código é:

Jane Doe's credit limit is 500
Jane Doe
12 Oak Street, Buffalo, NY 14201

Requisitos

Versão .NET

Consulte também

Referência

demonstrativo de interface

demonstrativo de função

função obter demonstrativo

função define demonstrativo

demonstrativo var

demonstrativo Const

demonstrativo estático

Operador novo

Esta política

demonstrativo super

Outros recursos

Modificadores