Declarações e atribuições de propriedades de classe numa única linha

Tradução automática de Deepl

Em 4D 20 R5, a declaração de propriedades simplificada agora oferece a conveniência de inicializar propriedades simultaneamente com sua declaração, semelhante à atribuição de variáveis.

Essa melhoria simplifica a legibilidade e eficiência do código ao permitir que os desenvolvedores declarem e inicializem propriedades numa única linha. Isso facilita uma integração mais suave e reduz a necessidade de blocos de inicialização separados. Otimiza os fluxos de trabalho de desenvolvimento e garante a robustez do código entre compiladores e intérpretes, promovendo bases de código mais limpas e fáceis de manter.

Até agora, havia apenas uma maneira de criar uma propriedade de classe:

property <propertyName> : <type>

A partir de 4D 20 R5, melhoramos a declaração de propriedades. Como para variáveis, agora pode declarar e inicializar sua propriedade em uma linha, como descrito abaixo:

tipo inferido

property <propertyName> := <value>

Aqui, o tipo é omitido e será determinado pelo compilador ou intérprete com base no valor fornecido. Para evitar erros de compilação, é aconselhável empregar esta abordagem exclusivamente com tipos escalares originados de valores, comandos ou métodos.

Exemplo:

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

Tipo declarado e inicialização

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

Quanto à declaração de variável, a propriedade é criada com o tipo fornecido e depois inicializada com o valor.

Esse tipo de declaração deve ser usado quando se inicializa uma propriedade com um tipo como um atributo de classe, uma variável de interprocessamento ou uma variável global. Se não especificar o tipo nestes casos, o intérprete e o compilador avaliarão o tipo e utilizarão um tipo variante. Por exemplo:

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

No 4D 20 R5, a declaração de propriedades numa única linha simplifica a inicialização, melhorando a legibilidade e a eficiência do código. Esta caraterística, detalhada na documentação, permite uma integração perfeita, optimizando os fluxos de trabalho de desenvolvimento e assegurando a robustez do código.

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.