Mit 4D 20 R10 macht die Objekttypisierung einen großen Schritt nach vorn und gibt Ihnen mehr Sicherheit und Kontrolle über Ihren Code. Anstatt einfach zu prüfen, ob ein Wert ein Objekt ist, überprüft 4D jetzt, ob es sich um eine Instanz einer bestimmten Klasse handelt. Dies ermöglicht eine intelligentere Autovervollständigung, Inline-Validierung und strengere Kompilierungsprüfungen, die Ihnen helfen, Fehler frühzeitig zu erkennen und einen klareren, besser wartbaren Code zu schreiben.
Die Vorteile beschränken sich nicht nur auf Variablen und Funktionsergebnisse. Diese Verbesserung gilt auch für Ihr Datenmodell: Sie können jetzt eine benutzerdefinierte oder native Klasse (wie die neue 4D.Vector für Ihre AI-Implementierung) direkt einem Objektfeld im Struktureditor zuweisen. 4D versteht dann die gesamte Form des Objekts, von der Entwurfszeit bis zur Laufzeit, was eine typsichere und zuverlässigere Entwicklung ermöglicht.
HDI typisiertes Objektfeld
Syntax- und Compiler-Prüfungen für Objektfeld-Attribute
4D prüft jetzt den Objekttyp an folgenden Stellen:
-
Code-Editor, während der Eingabe
-
Compiler, während der vollständigen Syntaxprüfung
Falsche Objektverwendung oder Tippfehler werden nun als frühe Warnungen oder Fehler angezeigt, was die Zuverlässigkeit beim Refactoring und Debugging erhöht.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Definieren Sie eine Klasse für Objektfelder
Wenn Sie in Ihrer Datenstruktur ein Feld vom Typ Objekt deklarieren, enthält der Inspektor des Struktureditors jetzt ein neues Eingabefeld Klasse. Damit können Sie das Feld einer bestimmten Klasse zuordnen, z. B. einem Business-Objekt oder einer nativen 4D Klasse.
Als Beispiel können Sie einem Feld mit dem Namen Vector den Typ 4D.Vector zuweisen:

Hinweis: Das Feld Klasse ist nur verfügbar, wenn Sie im Projektmodus arbeiten.
Smarter Code Editor: Auto-Vervollständigung von Attributen
Dank der Klassenzuordnung schlägt der Code-Editor jetzt Attribute vor, die in der angegebenen Klasse definiert sind, wenn Sie Code schreiben, der das Objektfeld einbezieht.
Fazit
Dieses Update stellt eine wesentliche Verbesserung in der Behandlung von Objektfeldern in 4D dar. Durch die Unterstützung einer strengeren Typisierung mit Klassen bietet Ihnen 4D eine robustere, wartbare und intelligente Entwicklungserfahrung vom Strukturentwurf bis zur Laufzeitausführung.
