Deklarace vlastností třídy a přiřazení na jednom řádku

Automaticky přeloženo z Deepl

Ve verzi 4D 20 R5 nyní zjednodušená deklarace vlastností nabízí možnost inicializovat vlastnosti současně s jejich deklarací, podobně jako při přiřazování proměnných.

Toto vylepšení zjednodušuje čitelnost a efektivitu kódu tím, že umožňuje vývojářům deklarovat a inicializovat vlastnosti na jediném řádku. To usnadňuje hladší integraci a snižuje potřebu samostatných inicializačních bloků. Optimalizuje pracovní postupy vývoje a zajišťuje robustnost kódu napříč překladači a interprety, čímž podporuje čistší a lépe udržovatelné kódové báze.

Dosud existoval pouze jeden způsob, jak vytvořit vlastnost třídy:

property <propertyName> : <type>

Počínaje verzí 4D 20 R5 jsme deklaraci vlastnosti vylepšili. Stejně jako u proměnných můžete nyní deklarovat a inicializovat vlastnost na jednom řádku, jak je popsáno níže:

odvozený typ

property <propertyName> := <value>

Zde je typ vynechán a bude určen překladačem nebo interpretem na základě zadané hodnoty. Aby se předešlo chybám při kompilaci, doporučuje se tento přístup používat výhradně u skalárních typů pocházejících z hodnot, příkazů nebo metod.

Příklad:

//BLOB
property myBlob:=GetBlob()
//Boolean
property myBool:=True
//Null
property myNull:=Null
//Real
property myNum:=(569/2)
//Object
property myObj:={att1: 1}
//Text
property myText:="Hello"
//Collection
property myCol:=[1; 2; 3]
//Date
property myDate:=Current date
//Time
property myTime:=Current time
//Picture
property myPicture:=GetPicture()

// Properties must be declared before class constructor or functions. 
Class constructor

Deklarovaný typ a inicializace

property <propertyName> : <type> := <value>

Stejnějako v případě deklarace proměnné je vlastnost vytvořena s daným typem a poté inicializována hodnotou.

Tento typ deklarace je nutné použít, pokud inicializujete vlastnost s typem jako atribut třídy, meziprocesní proměnná nebo globální. Pokud v těchto případech typ neuvedete, interpret a překladač vyhodnotí nebudou schopni určit typ a místo toho použijí variantní typ. Příklad: V případě, že se jedná o typ typu, který se používá v systému, je třeba, abyste si mohli vybrat, zda chcete, aby byl typ typu typován:

property myAttribute:=JSON Parse(GetJson()).myAttribute
// The interpreter and the compiler don't know the type of JSON Parse(GetJson()).myAttribute.
// The myAttribute property is declared as a variant

V 4D 20 R5 deklarace vlastnosti na jednom řádku zjednodušuje inicializaci, čímž zvyšuje čitelnost a efektivitu kódu. Tato funkce, podrobně popsaná v dokumentaci, umožňuje bezproblémovou integraci, optimalizaci pracovních postupů při vývoji a zajištění robustnosti kódu.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.