Con 4D 20 R10, la tipizzazione degli oggetti compie un importante passo avanti, offrendo maggiore sicurezza e controllo sul codice. Invece di verificare semplicemente se un valore è un oggetto, 4D ora verifica che sia un’istanza di una classe specifica. Questo sblocca un completamento automatico più intelligente, una convalida in linea e controlli di compilazione più severi, aiutandovi a individuare tempestivamente gli errori e a scrivere codice più chiaro e manutenibile.
I vantaggi non si fermano alle variabili e ai risultati delle funzioni. Questo miglioramento si applica anche al modello di dati: ora è possibile assegnare una classe definita dall’utente o nativa (come il nuovo 4D.Vector per l’implementazione dell’IA) direttamente a un campo oggetto nell’editor delle strutture. 4D comprende quindi la forma completa dell’oggetto, dal momento della progettazione a quello dell’esecuzione, consentendo un’esperienza di sviluppo più sicura e affidabile.
Campo oggetto tipizzato HDI
Controlli di sintassi e compilatore per gli attributi dei campi oggetto
4D ora controlla il tipo di oggetto nei seguenti punti:
-
Editor del codice, durante la digitazione
-
Compilatore, durante il controllo completo della sintassi
L’uso non corretto degli oggetti o gli errori di battitura appaiono ora come avvisi o errori precoci, aumentando l’affidabilità durante il refactoring e il debugging.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Definire una classe per i campi oggetto
Quando si dichiara un campo di tipo oggetto nella struttura dati, l’ispettore dell’editor Struttura include ora un nuovo campo di input Classe. Questo permette di associare il campo a una classe specifica, come un oggetto business o una classe nativa 4D.
Ad esempio, è possibile assegnare un tipo 4D.Vector a un campo denominato Vector:

Nota: il campo Classe è disponibile solo quando si lavora in modalità progetto.
Smarter Code Editor: Completamento automatico degli attributi
Grazie all’associazione di classi, l’editor di codice suggerisce ora gli attributi definiti nella classe specificata quando si scrive codice che coinvolge il campo oggetto.
Conclusione
Questo aggiornamento rappresenta un importante miglioramento nel trattamento dei campi oggetto in 4D. Supportando una tipizzazione più rigorosa con le classi, 4D offre un’esperienza di sviluppo più robusta, manutenibile e intelligente, dalla progettazione della struttura fino all’esecuzione in runtime.
