Con 4D 20 R10, la tipificación de objetos da un gran paso adelante, dándole más confianza y control en su código. En lugar de simplemente comprobar si un valor es un objeto, 4D ahora verifica que es una instancia de una clase específica. Esto desbloquea un autocompletado más inteligente, validación en línea y comprobaciones de compilación más estrictas, ayudándole a detectar errores a tiempo y a escribir un código más claro y fácil de mantener.
Las ventajas no se limitan a las variables y los resultados de las funciones. Esta mejora también se aplica a su modelo de datos: ahora puede asignar una clase definida por el usuario o nativa (como el nuevo 4D.Vector para su implementación AI) directamente a un campo de objeto en el editor de estructura. 4D entiende entonces la forma completa del objeto, desde el tiempo de diseño hasta el tiempo de ejecución, permitiendo una experiencia de desarrollo más segura y fiable.
Campo de objeto tipado HDI
CoNTROLes de LA sintaxis y DEL compilador para LOS atributos de LOS campoS de objetoS
4D verifica ahora el tipo de objeto en los siguientes lugares:
-
en el Editor de código, mientras se escribe
-
compilador, durante la comprobación completa de la sintaxis
El uso incorrecto de objetos o errores tipográficos aparecerán ahora como advertencias o errores tempranos, aumentando la fiabilidad durante la refactorización y depuración.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Definir una clase para los campos de tipo objeto
Cuando declara un campo de tipo objeto en su estructura de datos, el inspector del editor de estructura incluye ahora un nuevo campo de entrada Classe. Esto le permite asociar el campo con una clase específica, como un objeto comercial o una clase nativa 4D.
Por ejemplo, puede asignar el tipo 4D.Vector a un campo llamado Vector:

Nota: el campo Clase sólo está disponible cuando se trabaja en modo proyecto.
Editor de código más inteligente: Autocompletado de atributos
Gracias a la asociación de clases, el editor de código ahora sugiere atributos definidos en la clase especificada cuando se escribe código que involucra el campo objeto.
Conclusión
Esta actualización representa una importante mejora en el tratamiento de los campos objeto en 4D. Al soportar una tipificación más estricta con las clases, 4D le ofrece una experiencia de desarrollo más robusta, mantenible e inteligente, desde el diseño de la estructura hasta la ejecución en tiempo de ejecución.
