Deklarace vlastností třídy

Automaticky přeloženo z Deepl

Jazyk 4D se neustále zdokonaluje. Ve verzi v20 vám přinášíme novou funkci, která usnadní používání vašich tříd: deklarované vlastnosti tříd. Deklarování vlastností tříd výrazně zlepší automatické dokončování a také vám poskytne smysluplné chyby při kompilaci. Chcete se o ní dozvědět více? Ukážu vám, jak to funguje!

Deklarování vlastností třídy je snadné, používá se stejná syntaxe jako deklarování proměnných, ale s klíčovým slovem property :

property myProperty : text
Vlastnosti můžete deklarovat uvnitř tříd, před bloky funkcí. Jakmile to uděláte, tyto vlastnosti vám pomůže automaticky doplnit:

Je to také způsob, jak silně typizovat vlastnosti třídy, protože překladač vrátí chybu, pokud některé z nich přiřadíte špatnou hodnotu:

blank

Dávejte pozor, aby 4D kontroloval přiřazení pouze v době kompilace, protože jejich kontrola v době provádění by zpomalila provádění. Proto bude při zjevně chybném přiřazení zobrazovat chyby kompilace. Pokud však přiřadíte hodnotu, která může být správná, například variantu, nebude hlásit chybu, i když během provádění varianta nabývá nekompatibilního typu. Deklarované vlastnosti třídy se během provádění chovají přesně jako jakákoli jiná vlastnost třídy.

Pro přehlednost jsem vám ukázal příklady, které používají vlastnost uvnitř třídy, ale deklarované vlastnosti lze používat i uvnitř metod a jiných tříd. Pokud použijete komponentu s deklarovanými vlastnostmi třídy, budete využívat výhod automatického dokončování a kontroly kompilace, pokud je komponenta zkompilována se svým syntaktickým souborem. A pokud používáte rozšíření VS Code Extension, budete rovněž využívat automatické doplňování.

Tato funkce by vám měla pomoci vyhnout se hrubým chybám a zjednoduší psaní kódu. Pokud nám k ní chcete dát zpětnou vazbu, neváhejte tak učinit na fóru 4D.

Nicolas Brachfogel
• Product Owner & Senior Developer • Nicolas Brachfogel nastoupil do 4D v roce 2017 jako senior vývojář (4D server a sítě). Jako Product Owner, který řídí vydání Apple Silicon, má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací a také zajišťuje, aby implementace funkcí vyhovovaly potřebám zákazníků. Nicolas, absolvent Institut Supérieur d'Informatique Appliquée (INSIA), začal svou kariéru jako softwarový vývojář v roce 2001. Po několika letech kódování v Javě a C++ se specializoval na vývoj klient-server pro společnosti zabývající se videohrami. Jako serverový vývojář/architekt úspěšně pracoval na serverových architekturách mnoha her (Dofus Arena, Drakerz, Trivial Pursuit Go!).