Novo objecto: uma forma fácil de inicializar um objecto

Tradução automática de Deepl

Descubra New object, o novo comando de 4D para inicializar um objecto. Este comando permite ou criar um objecto vazio ou criá-lo com algumas propriedades e valores iniciais. OB SET está agora a tornar-se desnecessário em várias situações, New object é suficiente.

New object também permite reinicializar um objecto temporário num loop ou simplesmente passar directamente um objecto como parâmetro para um comando 4D solicitando um objecto como parâmetro, como os comandos Get database measures ou GRAPH, por exemplo.

Este novo comando altera a forma de escrever código 4D em muitas situações. New object cria um objecto e devolve uma referência ao mesmo. Permite maior flexibilidade no seu código. Este comando é o primeiro de uma série de novas funcionalidades relacionadas com objectos … Fique atento !

Exemplo 1

Este primeiro exemplo mostra-lhe como pode simplesmente criar um objecto vazio. Nas versões 4D anteriores, a única forma de o fazer era utilizar JSON Parse(“{}”), o que não é óbvio. De facto, o comando C_OBJECT declara uma variável de objecto que não contém qualquer objecto e o objecto é de facto criado apenas na primeira chamada OB SET, assim como algumas propriedades são definidas. A partir da v16 R3 já não é necessário utilizar JSON Parse, existe um único comando para inicializar os seus objectos: New object! Fácil e intuitivo!

// Previous versions
C_OBJECT( ) := ("{}") $obj
$objJSON Parse
//$obj={}

Desde 4D v16 R3 pode apenas usar New object:

// From 4D v16 R3
C_OBJECT( ) := $obj
$objNew object

//$obj={}

Exemplo 2

Também pode utilizar directamente New object dentro de um comando 4D sem criar um objecto antes, como se mostra abaixo.

// 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

Desde 4D v16 R3 pode escrever este código usando New object:

// From 4D v16 R3
C_OBJECT($measures)
$measures :=Get database measures(New object("path"; "DB.cacheReadBytes"; "withHistory";True; "historyLength";120))

Pode encontrar mais exemplos de códigos na seguinte base de dados de exemplos:

Exemplo de base de dados

Para mais detalhes, pode também consultar a documentação. Basta ver o artigo dedicado ao comando Novo objecto no manual de linguagem 4D v16 R3.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.