Il linguaggio 4D è in costante miglioramento. Per la versione 20, abbiamo introdotto una nuova funzionalità che faciliterà l’uso delle classi: le proprietà dichiarate delle classi. La dichiarazione delle proprietà delle classi migliorerà notevolmente il completamento automatico e fornirà anche errori significativi in fase di compilazione. Volete saperne di più? Lasciate che vi mostri come funziona!
Dichiarare una proprietà di classe è facile: si usa la stessa sintassi della dichiarazione delle variabili, ma con la parola chiave property:
property myProperty : text
È possibile dichiarare le proprietà all’interno delle classi, prima dei blocchi funzione. Una volta dichiarate, queste proprietà aiuteranno il completamento automatico:
È anche un modo per tipizzare fortemente le proprietà della classe, poiché il compilatore restituirà un errore se si assegna un valore errato a una di esse:
Fate attenzione al fatto che 4D controlla le assegnazioni solo in fase di compilazione, poiché il controllo in fase di esecuzione rallenterebbe l’esecuzione. Pertanto, mostrerà errori di compilazione per assegnazioni palesemente errate. Ma se si assegna un valore che può essere giusto, come una variante, non segnalerà alcun errore anche se in fase di esecuzione la variante assume un tipo incompatibile. Durante l’esecuzione, le proprietà di classe dichiarate si comportano esattamente come qualsiasi proprietà di classe.
Per chiarezza, ho mostrato esempi che utilizzano la proprietà all’interno della classe, ma le proprietà dichiarate possono essere utilizzate all’interno di metodi e altre classi. Se utilizzate un componente con proprietà di classe dichiarate, beneficerete del completamento automatico e dei controlli di compilazione, purché il componente sia compilato con il suo file di sintassi. Inoltre, se si utilizza l’estensione VS Code, si beneficerà anche del completamento automatico.
Questa funzione dovrebbe aiutarvi a evitare errori evidenti e a semplificare la scrittura del codice. Se volete darci un feedback in merito, non esitate a farlo sul forum 4D.