Deklarieren von Klasseneigenschaften

Die 4D Sprache wird ständig weiterentwickelt. Für v20 bringen wir Ihnen eine neue Funktion, die die Verwendung Ihrer Klassen erleichtert: deklarierte Klasseneigenschaften. Durch die Deklaration von Klasseneigenschaften wird die automatische Vervollständigung erheblich verbessert und Sie erhalten aussagekräftige Fehlermeldungen beim Kompilieren. Sie möchten mehr darüber erfahren? Ich zeige Ihnen, wie es funktioniert!

Die Deklaration einer Klasseneigenschaft ist einfach, sie verwendet die gleiche Syntax wie die Deklaration von Variablen, aber mit dem Schlüsselwort property :

Eigenschaft myProperty : text
Sie können Eigenschaften innerhalb von Klassen deklarieren, und zwar vor den Funktionsblöcken. Diese Eigenschaften helfen dann bei der automatischen Vervollständigung:

Dies ist auch eine Möglichkeit, Ihre Klasseneigenschaften stark zu typisieren, da der Compiler einen Fehler zurückgibt, wenn Sie einer dieser Eigenschaften einen falschen Wert zuweisen:

blank

Achten Sie darauf, dass 4D Zuweisungen nur zur Kompilierungszeit überprüft, da eine Überprüfung zur Ausführungszeit die Ausführung verlangsamen würde. Daher werden bei offensichtlich falschen Zuweisungen Kompilierungsfehler angezeigt. Wenn Sie jedoch einen Wert zuweisen, der richtig sein kann, wie z. B. eine Variante, wird kein Fehler gemeldet, selbst wenn die Variante während der Ausführung einen inkompatiblen Typ annimmt. Während der Ausführung verhalten sich deklarierte Klasseneigenschaften genau wie jede andere Klasseneigenschaft.

Der Klarheit halber habe ich Ihnen Beispiele gezeigt, in denen die Eigenschaft innerhalb der Klasse verwendet wird, aber deklarierte Eigenschaften können auch innerhalb von Methoden und anderen Klassen verwendet werden. Wenn Sie eine Komponente mit deklarierten Klasseneigenschaften verwenden, profitieren Sie von der Autovervollständigung und den Kompilierungsprüfungen, solange die Komponente mit ihrer Syntaxdatei kompiliert wird. Und wenn Sie die VS Code Extension verwenden, profitieren Sie ebenfalls von der automatischen Vervollständigung.

Diese Funktion sollte Ihnen helfen, eklatante Fehler zu vermeiden, und wird das Schreiben von Code vereinfachen. Wenn Sie uns Feedback dazu geben möchten, zögern Sie nicht, dies im 4D Forum zu tun.

Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel kam 2017 als Senior Developer (4D Server und Netzwerke) zu 4D. Als Product Owner, der die Freigabe von Apple Silicon verwaltet, ist er für das Schreiben von User Stories und deren Umsetzung in funktionale Spezifikationen zuständig und stellt sicher, dass die Implementierungen der Funktionen den Kundenanforderungen entsprechen. Nicolas ist Absolvent des Institut Supérieur d'Informatique Appliquée (INSIA) und begann seine Karriere als Softwareentwickler im Jahr 2001. Nachdem er mehrere Jahre in Java und C++ programmiert hatte, spezialisierte er sich auf die Client-Server-Entwicklung für Videospielunternehmen. Als Server-Entwickler/Architekt arbeitete er erfolgreich an den Server-Architekturen vieler Spiele (Dofus Arena, Drakerz, Trivial Pursuit Go!).