Objevte New object, nový příkaz 4D k inicializaci objektu. Tento příkaz umožňuje buď vytvořit prázdný objekt, nebo jej vytvořit s některými počátečními vlastnostmi a hodnotami. OB SET se nyní v několika situacích stává zbytečným, stačí New object.
New object také umožňuje znovu inicializovat dočasný objekt ve smyčce nebo jednoduše přímo předat objekt jako parametr příkazu 4D, který si objekt jako parametr vyžádá, jako například příkazy Get database measures nebo GRAPH.
Tento nový příkaz v mnoha situacích mění způsob psaní 4D kódu. New object vytvoří objekt a vrátí na něj referenci. Umožňuje větší flexibilitu vašeho kódu. Tento příkaz je prvním z řady nových funkcí souvisejících s objekty … Zůstaňte s námi !
Příklad 1
Tento první příklad vám ukáže, jak můžete jednoduše vytvořit prázdný objekt. V předchozích verzích 4D bylo jediným způsobem, jak to udělat, použití adresy JSON Parse(„{}“), což není samozřejmé. Ve skutečnosti příkaz C_OBJECT deklaruje objektovou proměnnou, která neobsahuje žádný objekt, a objekt je ve skutečnosti vytvořen až při prvním volání OB SET, stejně jako jsou definovány některé vlastnosti. Od verze v16 R3 již není třeba používat příkaz JSON Parse, pro inicializaci objektů existuje jediný příkaz: New object! Snadné a intuitivní!
// Previous versions
C_OBJECT( ) := ("{}") $obj
$objJSON Parse
//$obj={}
Od verze 4D v16 R3 můžete používat pouze New object:
// From 4D v16 R3
C_OBJECT( ) := $obj
$objNew object
//$obj={}
Příklad 2
Můžete také přímo použít New object uvnitř příkazu 4D bez předchozího vytvoření objektu, jak je uvedeno níže.
// Previous versions
C_OBJECT( ) ( ) ( ; "path"; "DB.cacheReadBytes") ( ; "withHistory";True) ( ; "historyLength";2*60) := ( )$oParams
C_OBJECT$measures
OB SET$oParams
OB SET$oParams
OB SET$oParams
$measuresGet database measures$oParams
Od verze 4D v16 R3 můžete tento kód zapsat pomocí New object:
// From 4D v16 R3
C_OBJECT($measures)
$measures :=Get database measures(New object("path"; "DB.cacheReadBytes"; "withHistory";True; "historyLength";120))
Další příklady kódu najdete v následující ukázkové databázi:
Podrobnější informace naleznete také v dokumentaci. Stačí se podívat na článek věnovaný příkazu New object v příručce jazyka 4D v16 R3.