Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Les groupes d’intérêt communautaire sont maintenant passés de Yammer à Microsoft Viva Engage. Pour participer à une communauté Viva Engage et participer aux dernières discussions, renseignez le formulaire Demander l’accès à la communauté Finance et Operations Viva Engage , puis choisissez la communauté que vous souhaitez rejoindre.
Cet article décrit les membres de classe statiques dans X++. En général, les méthodes statiques sont destinées aux cas suivants :
- La méthode n’a aucune raison d’accéder aux variables membres déclarées dans la classe.
- La méthode n’a aucune raison d’appeler des méthodes d’instance (non statiques) de la classe.
Vous déclarez des membres de classe statique à l’aide du mot clé statique . Le mot clé statique indique au système de créer une seule instance de la méthode, quel que soit le nombre d’instances de la classe. Cette instance est utilisée tout au long de votre session.
Méthodes statiques
Cette section décrit un scénario dans lequel un type de clé logicielle est utilisé pour empêcher le piratage. Chaque instance d’une clé logicielle peut avoir sa propre valeur unique. Étant donné que toutes les clés logicielles doivent être conformes aux règles de conception des clés logicielles, la logique qui teste la conformité des clés logicielles est la même pour toutes les clés logicielles. Par conséquent, la méthode qui contient la logique de validation de conformité doit être statique.
Voici un exemple de méthode déclarée à l’aide du mot clé statique .
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
Dans l’exemple suivant, vous n’avez pas besoin de construire une instance de la classe SoftwareKey avant d’appeler une méthode statique sur la classe. Lorsque vous souhaitez appeler la méthode static validateSoftwareKey , la syntaxe commence par le nom de la classe qui contient la méthode. Une paire de deux-points ( ::) est utilisée pour connecter le nom de classe au nom de la méthode statique.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Champs statiques
Les champs statiques sont des variables déclarées à l’aide du mot clé statique. Conceptuellement, ils s’appliquent à la classe, et non aux instances de la classe.
Constructeurs statiques
Un constructeur statique est garanti pour s’exécuter avant que des appels statiques ou d’instance soient effectués à la classe. L’exécution du constructeur statique est relative à la session de l’utilisateur. Le constructeur statique a la syntaxe suivante.
static void TypeNew()
Vous n’appelez jamais explicitement le constructeur statique. Le compilateur génère du code pour s’assurer que le constructeur est appelé exactement une fois avant toute autre méthode sur la classe. Un constructeur statique est utilisé pour initialiser toutes les données statiques ou effectuer une action particulière qui ne doit être effectuée qu’une seule fois. Aucun paramètre ne peut être fourni pour le constructeur statique, et il doit être marqué comme statique.
L’exemple de code suivant montre comment créer une instance singleton à l’aide d’un constructeur statique.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
Le singleton garantit qu’une seule instance de la classe sera jamais appelée. L’exemple suivant montre comment instancier le singleton.
Singleton i = Singleton::Instance();
Méthodes statiques
Les méthodes statiques, également appelées méthodes de classe, appartiennent à une classe et sont créées à l’aide du mot clé statique. Vous n’avez pas besoin d’instancier un objet avant d’utiliser des méthodes statiques. Les méthodes statiques sont souvent utilisées pour utiliser des données stockées dans des tables. Les variables membres ne peuvent pas être utilisées dans une méthode statique. Vous utilisez la syntaxe suivante pour appeler des méthodes statiques.
ClassName::methodName();
Méthodes statiques et d’instance
Les mots clés d’accesseur sur les méthodes ne limitent jamais les appels entre deux méthodes qui se trouvent dans la même classe, quelle que soit la méthode statique ou non statique. Dans une méthode statique, les appels à la nouvelle méthode de constructeur sont valides même si la nouvelle méthode de constructeur est décorée avec le modificateur privé . La syntaxe de ces appels nécessite que le nouveau mot clé soit utilisé. Le code d’une méthode statique doit construire un objet d’instance de sa propre classe avant de pouvoir appeler n’importe quelle méthode d’instance sur la classe.