Avec 4D 20 R10, le typage d’objets fait un grand pas en avant, vous donnant plus de confiance et de contrôle dans votre code. Au lieu de simplement vérifier si une valeur est un objet, 4D vérifie désormais qu’il s’agit d’une instance d’une classe spécifique. Cela permet une auto-complétion plus intelligente, une validation en ligne et des contrôles de compilation plus stricts, ce qui vous aide à détecter rapidement les erreurs et à écrire un code plus clair et plus facile à maintenir.
Les avantages ne s’arrêtent pas aux variables et aux résultats des fonctions. Cette amélioration s’applique également à votre modèle de données : vous pouvez désormais affecter une classe définie par l’utilisateur ou une classe native (comme le nouveau 4D.Vector pour votre implémentation AI) directement à un champ d’objet dans l’éditeur de structure. 4D comprend alors la forme complète de l’objet, de la conception à l’exécution, ce qui permet une expérience de développement plus sûre et plus fiable.
Champ d’objet typé HDI
Contrôles de la syntaxe et du compilateur pour les attributs des champs d’objets
4D vérifie désormais le type d’objet dans les endroits suivants :
-
dans l’éditeur de code, lors de la saisie
-
Compilateur, lors de la vérification syntaxique complète
L’utilisation incorrecte d’un objet ou les fautes de frappe apparaîtront désormais sous forme d’avertissements ou d’erreurs précoces, ce qui améliorera la fiabilité lors de la refonte et du débogage.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Définir une classe pour les champs de type objet
Lorsque vous déclarez un champ de type objet dans votre structure de données, l’inspecteur de l’éditeur de structure comprend désormais un nouveau champ de saisie Classe. Cela vous permet d’associer le champ à une classe spécifique, telle qu’un objet commercial ou une classe native 4D.
Par exemple, vous pouvez attribuer le type 4D.Vector à un champ nommé Vector :

Remarque : Le champ Classe n’est disponible que lorsque vous travaillez en mode projet.
Éditeur de code plus intelligent : Auto-complétion des attributs
Grâce à l’association de classes, l’éditeur de code suggère désormais les attributs définis dans la classe spécifiée lorsque vous écrivez du code impliquant le champ objet.
Conclusion
Cette mise à jour représente une amélioration majeure dans la façon dont les champs d’objets sont traités dans 4D. En prenant en charge un typage plus strict avec les classes, 4D vous offre une expérience de développement plus robuste, plus facile à maintenir et plus intelligente, depuis la conception de la structure jusqu’à l’exécution.
