Nuovo oggetto: un modo semplice per inizializzare un oggetto

Tradotto automaticamente da Deepl

Scoprite New object, il nuovo comando di 4D per inizializzare un oggetto. Questo comando consente di creare un oggetto vuoto o di crearlo con alcune proprietà e valori iniziali. OB SET sta diventando superfluo in diverse situazioni, New object è sufficiente.

New object permette anche di reinizializzare un oggetto temporaneo in un ciclo o semplicemente di passare direttamente un oggetto come parametro a un comando 4D che richiede un oggetto come parametro, come i comandi Get database measures o GRAPH ad esempio.

Questo nuovo comando cambia il modo di scrivere codice 4D in molte situazioni. New object crea un oggetto e ne restituisce un riferimento. Consente una maggiore flessibilità nel codice. Questo comando è il primo di una serie di nuove funzionalità relative agli oggetti… Restate sintonizzati!

Esempio 1

Questo primo esempio mostra come sia possibile creare un oggetto vuoto. Nelle precedenti versioni di 4D, l’unico modo per farlo era utilizzare JSON Parse(“{}”), il che non è ovvio. Infatti, il comando C_OBJECT dichiara una variabile oggetto che non contiene alcun oggetto e l’oggetto viene effettivamente creato solo alla prima chiamata a OB SET e vengono definite alcune proprietà. Dalla v16 R3 non è più necessario utilizzare JSON Parse, c’è un solo comando per inizializzare gli oggetti: New object! Facile e intuitivo!

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

Da 4D v16 R3 è possibile utilizzare semplicemente New object:

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

//$obj={}

Esempio 2

È anche possibile utilizzare direttamente New object all’interno di un comando 4D senza creare prima un oggetto, come mostrato di seguito.

// 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

Da 4D v16 R3 è possibile scrivere questo codice utilizzando New object:

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

Altri esempi di codice sono disponibili nel seguente database di esempio:

Database di esempio

Per ulteriori dettagli, è possibile consultare la documentazione. Basta dare un’occhiata all’articolo dedicato al comando Nuovo oggetto nel manuale del linguaggio 4D v16 R3.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.