função obter instrução

Declara os acessadores para uma nova propriedade em uma classe ou uma interface. Freqüentemente obter a função aparecerá junto com um definir a função para permitir o acesso de leitura/gravação para uma propriedade.

// Syntax for the get accessor for a property in a class.
 [modifiers] function get propertyname() [: type] {
   [body]
}

// Syntax for the get accessor for a property in an interface.
[modifiers] function get propertyname() [: type]

Argumentos

  • modifiers
    Opcional. Modificadores de controlam a visibilidade e o comportamento da propriedade.

  • propertyname
    Obrigatório. Nome da propriedade que está sendo criada. Deve ser exclusivo dentro da classe, exceto o mesmo propertyname pode ser usado com ambos obter e Definir acessadores para identificar uma propriedade que pode ler e gravados.

  • type
    Opcional. Tipo de retorno da obter acessador. Este deve corresponder ao tipo de parâmetro de Definir acessador, se definida.

  • body
    Opcional. Um ou mais declarações que definem como um obter acessador opera.

Comentários

As propriedades de um objeto são acessadas da mesma forma como um campo for acessado, exceto que as propriedades permitem mais controle sobre os valores que são armazenados no e retornados a partir do objeto. Propriedades podem ser somente leitura, somente para gravação ou leitura-gravação, dependendo da combinação de obter e set os assessores da propriedade definidos dentro da classe. Propriedades são freqüentemente usadas para ajudar a certificar-se de que somente valores apropriados são armazenados em um private ou protected campo. Você não pode atribuir um valor a uma propriedade somente leitura ou ler um valor de uma propriedade somente gravação.

A obter acessador, que deve especificar um tipo de retorno, não tem argumentos. A obter acessador pode ser combinado com um set acessador, que tem um argumento e não tem um tipo de retorno. Se ambos os acessadores são usados para uma propriedade, o retorno tipo da obter acessador deve corresponder ao tipo de argumento o Definir acessador.

Uma propriedade pode ter um obter acessador ou Definir acessador ou ambos. Somente o obter acessador (ou Definir acessador se não houver nenhum obter acessador) de uma propriedade pode ter atributos personalizados que se aplicam à propriedade como um todo. Tanto o obter e set acessadores podem ter modificadores e atributos personalizados que se aplicam a o acessador individual. Os assessores da propriedade não podem ser sobrecarregados, mas pode ser ocultadas ou substituídos.

Propriedades que podem ser especificadas na definição de um interface, mas nenhuma implementação pode ser fornecida na interface.

Exemplo

O exemplo a seguir mostra várias declarações de propriedade. Um Age propriedade é definida como a leitura do e gravada. Somente leitura FavoriteColor propriedade também é definida.

class CPerson {
   // These variables are not accessible from outside the class.
   private var privateAge : int;
   private var privateFavoriteColor : String;

   // Set the initial favorite color with the constructor.
   function CPerson(inputFavoriteColor : String) {
      privateAge = 0;
      privateFavoriteColor = inputFavoriteColor;
   }

   // Define an accessor to get the age.
   function get Age() : int {
      return privateAge;
   }
   // Define an accessor to set the age, since ages change.
   function set Age(inputAge : int) {
      privateAge = inputAge;
   }

   // Define an accessor to get the favorite color.
   function get FavoriteColor() : String {
      return privateFavoriteColor;
   }
   // No accessor to set the favorite color, making it read only.
   // This assumes that favorite colors never change.
}

var chris: CPerson = new CPerson("red");

// Set Chris age.
chris.Age = 27;
// Read chris age.
print("Chris is " + chris.Age + " years old.");

// FavoriteColor can be read from, but not written to.
print("Favorite color is " + chris.FavoriteColor + ".");

Quando este programa é executado, ele exibe o seguinte:

Chrisis 27 years old.
Favorite color is red.

Requisitos

Versão.NET

Consulte também

Referência

Declaração de classe.

Declaração de interface.

Declaração de função

função definir a instrução

Conceitos

Anotação de tipo

Outros recursos

Modificadores