Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Os grupos de interesse da comunidade passaram do Yammer para o Microsoft Viva Engage. Para participar de uma comunidade Viva Engage e participar das últimas discussões, preencha o formulário Solicitar acesso ao Finance and Operations Viva Engage Community e escolha a comunidade à qual deseja participar.
Este artigo descreve os membros da classe estática no X++. Em geral, utilize métodos estáticos nestes casos:
- O método não precisa de aceder a variáveis membros que são declaradas na classe.
- O método não precisa de chamar nenhum método de instância (não estático) da classe.
Declare membros estáticos da classe usando a palavra-chave estática . A palavra-chave estática instrui o sistema a criar apenas uma instância do método, independentemente do número de instâncias da classe. Usa este caso ao longo da tua sessão.
Métodos estáticos
Esta seção descreve um cenário em que um tipo de chave de software é usado para ajudar a evitar a pirataria. Cada instância de uma chave de software pode ter seu próprio valor exclusivo. Como todas as chaves de software devem estar em conformidade com as regras de design de chaves de software, a lógica que testa a conformidade de chaves de software é a mesma para todas as chaves de software. Portanto, o método que contém a lógica de validação da conformidade deve ser estático.
Aqui está um exemplo de um método que é declarado usando a palavra-chave estática .
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
No exemplo a seguir, você não precisa construir uma instância da classe SoftwareKey antes de chamar um método estático na classe. Quando você deseja chamar o método estático validateSoftwareKey , a sintaxe começa com o nome da classe que contém o método. Um par de dois-pontos (::) liga o nome da classe ao nome do método estático.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Campos estáticos
Campos estáticos são variáveis que declaras usando a palavra-chave estática . Conceitualmente, eles se aplicam à classe, não às instâncias da classe.
Construtores estáticos
Um construtor estático executa sempre antes de quaisquer chamadas estáticas ou de instância serem feitas à classe. A execução do construtor estático é relativa à sessão do usuário. O construtor estático utiliza a seguinte sintaxe.
static void TypeNew()
Você nunca chama explicitamente o construtor estático. O compilador gera código para garantir que o construtor é chamado exatamente uma vez antes de qualquer outro método na classe. Use um construtor estático para inicializar quaisquer dados estáticos ou realizar uma ação particular que deve ser realizada apenas uma vez. Não podes fornecer parâmetros para o construtor estático, e tens de o marcar como estático.
O exemplo de código a seguir mostra como criar uma instância singleton usando um construtor estático.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
O singleton garante que a classe tem apenas uma instância. O exemplo a seguir mostra como instanciar o singleton.
Singleton i = Singleton::Instance();
Método estático
Os métodos estáticos, que também são conhecidos como métodos de classe, pertencem a uma classe e são criados usando a palavra-chave static. Não é necessário instanciar um objeto antes de usar métodos estáticos. Usa métodos estáticos para trabalhar com dados armazenados em tabelas. Não podes usar variáveis de membro num método estático. Use a seguinte sintaxe para chamar métodos estáticos.
ClassName::methodName();
Métodos estáticos e de instância
As palavras-chave do acessador em métodos nunca restringem chamadas entre dois métodos que estão na mesma classe, independentemente de qual método é estático ou não estático. Em um método estático, chamadas para o novo método construtor são válidas mesmo se o novo método construtor é decorado com o modificador privado . A sintaxe destas chamadas exige que utilize a nova palavra-chave. O código em um método estático deve construir um objeto de instância de sua própria classe antes de poder chamar qualquer método de instância na classe.