Ve verzi 4D 20 R10 se psaní objektů posunulo o velký krok kupředu, což vám dává větší jistotu a kontrolu nad kódem. Namísto pouhé kontroly, zda je hodnota objektem, nyní 4D ověřuje, zda se jedná o instanci konkrétní třídy. To odemyká inteligentnější automatické dokončování, inline ověřování a přísnější kontroly kompilace, což vám pomůže včas odhalit chyby a psát přehlednější a lépe udržovatelný kód.
Výhody nekončí u proměnných a výsledků funkcí. Toto vylepšení se týká také datového modelu: nyní můžete přiřadit uživatelsky definovanou nebo nativní třídu (například novou třídu 4D.Vector pro implementaci umělé inteligence) přímo do pole objektu v editoru struktury. 4D pak rozumí celému tvaru objektu, a to od doby návrhu až po dobu běhu, což umožňuje typově bezpečnější a spolehlivější vývoj.
Pole typového objektu HDI
Syntaxe a kontroly překladače pro atributy objektového pole
4D nyní kontroluje typ objektu i na následujících místech:
-
editoru kódu, při psaní
-
Překladač, během úplné kontroly syntaxe
Nesprávné použití objektu nebo překlepy se nyní zobrazí jako včasné varování nebo chyba, což zvyšuje spolehlivost při refaktoringu a ladění.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Definovat třídu pro pole objektů
Když ve své datové struktuře deklarujete pole typu objekt, inspektor editoru Struktura nyní obsahuje nové vstupní pole Třída. To vám umožní přiřadit pole ke konkrétní třídě, například k obchodnímu objektu nebo nativní třídě 4D.
Jako příklad můžete poli s názvem Vector přiřadit typ 4D.Vector:

Poznámka: Pole Třída je k dispozici pouze při práci v režimu projektu.
Chytřejší editor kódu: Automatické dokončování atributů
Díky asociaci tříd nyní editor kódu při psaní kódu zahrnujícího pole objektu navrhuje atributy definované v zadané třídě.
Závěr
Tato aktualizace představuje zásadní vylepšení způsobu, jakým se v rámci 4D zachází s objektovými poli. Díky podpoře přísnějšího typování pomocí tříd poskytuje 4D robustnější, udržovatelnější a inteligentnější vývoj od návrhu struktury až po spuštění.
