Nuevo objeto: una forma sencilla de inicializar un objeto

Traducido automáticamente de Deepl

Descubra New object, el nuevo comando de 4D para inicializar un objeto. Este comando permite crear un objeto vacío o crearlo con algunas propiedades y valores iniciales. OB SET se vuelve innecesario en varias situaciones, New object es suficiente.

New object también permite reinicializar un objeto temporal en un bucle o simplemente pasar directamente un objeto como parámetro a un comando 4D que solicite un objeto como parámetro, como los comandos Get database measures o GRAPH por ejemplo.

Este nuevo comando cambia tu forma de escribir código 4D en muchas situaciones. New object crea un objeto y devuelve una referencia a él. Permite una mayor flexibilidad en tu código. Este comando es el primero de una serie de nuevas características relacionadas con los objetos … ¡Esté atento!

Ejemplo 1

Este primer ejemplo le muestra cómo puede crear simplemente un objeto vacío. En las versiones anteriores de 4D, la única manera de hacer esto era utilizar JSON Parse(«{}»), lo cual no es obvio. De hecho el comando C_OBJECT declara una variable de objeto que no contiene ningún objeto y el objeto se crea realmente sólo en la primera llamada a OB SET así como se definen algunas propiedades. A partir de la v16 R3 ya no es necesario utilizar JSON Parse, hay un único comando para inicializar sus objetos: New object ¡ Fácil e intuitivo !

// Previous versions
C_OBJECT( ) := ("{}") $obj
$objJSON Parse
//$obj={}

Desde 4D v16 R3 puede utilizar simplemente New object:

// From 4D v16 R3
C_OBJECT( ) := $obj
$objNew object

//$obj={}

Ejemplo 2

También puede utilizar directamente New object dentro de un comando 4D sin crear un objeto antes como se muestra a continuación.

// Previous versions
C_OBJECT( ) ( ) ( ; "path"; "DB.cacheReadBytes") ( ; "withHistory";True) ( ; "historyLength";2*60) := ( )$oParams
C_OBJECT$measures
OB SET$oParams
OB SET$oParams
OB SET$oParams
$measuresGet database measures$oParams

Desde 4D v16 R3 se puede escribir este código utilizando New object:

// From 4D v16 R3
C_OBJECT($measures)
$measures :=Get database measures(New object("path"; "DB.cacheReadBytes"; "withHistory";True; "historyLength";120))

Puede encontrar más ejemplos de código en la siguiente base de datos de ejemplo:

Base de datos de ejemplo

Para más detalles, también puede consultar la documentación. Basta con echar un vistazo al artículo dedicado al comando Nuevo objeto en el manual de lenguaje de 4D v16 R3.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.