Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
I gruppi di interesse della community sono ora passati da Yammer a Microsoft Viva Engage. Per partecipare a una community viva engage e partecipare alle discussioni più recenti, compilare il modulo Richiedi accesso a Finance and Operations Viva Engage Community e scegliere la community a cui si vuole partecipare.
Questo articolo descrive i membri della classe statica in X++. In generale, usare metodi statici per questi casi:
- Il metodo non deve accedere alle variabili membro dichiarate nella classe .
- Il metodo non deve chiamare metodi di istanza (non statici) della classe .
Dichiarare membri di classe statici usando la parola chiave static . La parola chiave static indica al sistema di creare una sola istanza del metodo, indipendentemente dal numero di istanze della classe . Usare questa istanza in tutta la sessione.
Metodi statici
Questa sezione descrive uno scenario in cui viene usato un tipo di chiave software per prevenire la pirateria. Ogni istanza di una chiave software può avere un proprio valore univoco. Poiché tutte le chiavi software devono essere conformi alle regole della progettazione della chiave software, la logica che verifica la conformità della chiave software è la stessa per tutte le chiavi software. Pertanto, il metodo che contiene la logica di convalida della conformità deve essere statico.
Di seguito è riportato un esempio di un metodo dichiarato usando la parola chiave static .
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
Nell'esempio seguente non è necessario costruire un'istanza della classe SoftwareKey prima di chiamare un metodo statico nella classe . Quando si desidera chiamare il metodo static validateSoftwareKey , la sintassi inizia con il nome della classe che contiene il metodo . Coppia di due punti (::) connette il nome della classe al nome del metodo statico.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Campi statici
I campi statici sono variabili dichiarate usando la parola chiave static . Concettualmente, si applicano alla classe, non alle istanze della classe .
Costruttori statici
Un costruttore statico viene sempre eseguito prima che vengano effettuate chiamate statiche o di istanze alla classe . L'esecuzione del costruttore statico è relativa alla sessione dell'utente. Il costruttore statico usa la sintassi seguente.
static void TypeNew()
Non chiamare mai in modo esplicito il costruttore statico. Il compilatore genera codice per assicurarsi che il costruttore venga chiamato esattamente una volta prima di qualsiasi altro metodo nella classe . Utilizzare un costruttore statico per inizializzare tutti i dati statici o eseguire un'azione specifica che deve essere eseguita una sola volta. Non è possibile specificare parametri per il costruttore statico ed è necessario contrassegnarlo come statico.
Nell'esempio di codice seguente viene illustrato come creare un'istanza singleton usando un costruttore statico.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
Il singleton garantisce che la classe abbia una sola istanza. Nell'esempio seguente viene illustrato come creare un'istanza del singleton.
Singleton i = Singleton::Instance();
Metodo statico
I metodi statici, noti anche come metodi di classe, appartengono a una classe e vengono creati usando la parola chiave static. Non è necessario creare un'istanza di un oggetto prima di usare metodi statici. Usare metodi statici per usare i dati archiviati nelle tabelle. Non è possibile usare variabili membro in un metodo statico. Usare la sintassi seguente per chiamare metodi statici.
ClassName::methodName();
Metodi statici e di istanza
Le parole chiave della funzione di accesso sui metodi non limitano mai le chiamate tra due metodi che si trovano nella stessa classe, indipendentemente dal metodo statico o non statico. In un metodo statico, le chiamate al nuovo metodo del costruttore sono valide anche se il nuovo metodo del costruttore viene decorato con il modificatore privato . La sintassi per queste chiamate richiede l'uso della nuova parola chiave. Il codice in un metodo statico deve costruire un oggetto istanza della propria classe prima di poter chiamare qualsiasi metodo di istanza nella classe .