Déclarer les propriétés d’une classe

Le langage 4D est en constante amélioration. Pour la v20, nous vous apportons une nouvelle fonctionnalité qui facilitera l’utilisation de vos classes : les propriétés de classe déclarées. Déclarer les propriétés de vos classes améliorera grandement l’autocomplétion et vous donnera également des erreurs claires lors de la compilation. Vous voulez en savoir plus ? Laissez-moi vous montrer comment cela fonctionne !

Déclarer une propriété de classe est facile, cela utilise la même syntaxe que pour déclarer des variables mais avec le mot-clé property :

propriété maPropriété : texte
Vous pouvez déclarer des propriétés à l’intérieur des classes, avant le constructeur et les blocs de fonctions. Une fois que c’est fait, ces propriétés aideront à l’autocomplétion :

C’est aussi un moyen de typer fortement les propriétés de votre classe car le compilateur renverra une erreur si vous assignez une mauvaise valeur à l’une d’entre elles :

blank

Attention, 4D ne vérifie les affectations qu’au moment de la compilation, car les vérifier au moment de l’exécution diminuerait les performances. Ainsi, il affichera des erreurs de compilation pour des affectations manifestement erronées. Mais si vous assignez une valeur qui peut être juste, comme un variant, il ne signalera pas d’erreur même si lors de l’exécution le variant prend un type incompatible. Pendant l’exécution, les propriétés de classe déclarées se comportent exactement comme n’importe quelle propriété de classe.

Pour plus de clarté, je vous ai montré des exemples qui utilisent la propriété à l’intérieur d’une classe, mais les propriétés déclarées peuvent être utilisées à l’intérieur de méthodes et d’autres classes. Si vous utilisez un composant avec des propriétés de classe déclarées, vous bénéficierez de l’autocomplétion et des contrôles de compilation tant que le composant est compilé avec son fichier de syntaxe. Si vous utilisez l’extension VS Code, vous bénéficierez également de l’autocomplétion.

Cette fonctionnalité devrait vous aider à éviter les erreurs flagrantes et à simplifier l’écriture du code. Si vous souhaitez nous faire part de vos commentaires à ce sujet, n’hésitez pas à le faire sur le forum 4D.

Nicolas Brachfogel
- Product Owner & Senior Developer - Nicolas Brachfogel a rejoint 4D en 2017 en tant que développeur senior (4D Server et networking) et en tant que Product Owner pour gérer la mise en production d'Apple Silicon. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles, ainsi que de s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients. Diplômé de l'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas a commencé sa carrière en tant que développeur de logiciels en 2001. Après plusieurs années de programmation en Java et C++, il s'est spécialisé dans le développement client-serveur pour des sociétés de jeux vidéo. En tant que développeur/architecte serveur, il a travaillé avec succès sur les architectures serveur de nombreux jeux (Dofus Arena, Drakerz, Trivial Pursuit Go !).