Com 4D 20 R10, a tipagem de objetos dá um grande passo adiante, dando-lhe mais confiança e controle em seu código. Em vez de simplesmente verificar se um valor é um objeto, 4D agora verifica se é uma instância de uma classe específica. Isto desbloqueia um auto-completar mais inteligente, validação em linha, e verificações de compilação mais estritas, ajudando-o a apanhar erros cedo e escrever código mais claro e de melhor manutenção.
Os benefícios não se limitam a variáveis e resultados de funções. Essa melhoria também se aplica ao seu modelo de dados: agora pode atribuir uma classe definida pelo usuário ou nativa (como o novo 4D.Vetor para sua implementação AI) diretamente a um campo de objeto no editor de estrutura. 4D então entende a forma completa do objeto, do tempo de design ao tempo de execução, permitindo uma experiência de desenvolvimento segura e mais confiável.
Campo de Objeto Tipado HDI
Verificações de sintaxe e compilador para atributos de campo de objeto
4D agora verifica o tipo de objeto nos seguintes lugares:
-
Editor de código, enquanto digita
-
Compilador, durante a verificação completa da sintaxe
O uso incorreto de objetos ou erros de digitação agora aparecerão como avisos ou erros antecipados, aumentando a confiabilidade durante a refatoração e depuração.

var $animal:cs.Animal:=cs.Dog.new() // upcasting
// or
var $dog:cs.Dog:=cs.Animal.new() // downcasting
Definir uma classe para campos de objeto
Quando declara um campo do tipo objeto na sua estrutura de dados, o inspetor do editor de estruturas inclui agora um novo campo de entrada Classe. Isso permite associar o campo a uma classe específica, como um objeto comercial ou uma classe 4D nativa.
Por exemplo, pode atribuir um tipo de 4D.Vetor a um campo chamado Vetor:

Nota: O campo Classe só está disponível quando se trabalha no modo de projeto.
Editor de Código Mais Inteligente: Preenchimento automático de atributos
Graças à associação de classe, o editor de código sugere agora atributos definidos na classe especificada quando escreve código envolvendo o campo de objeto.
Conclusão
Esta atualização representa uma grande melhoria em como os campos de objeto são tratados em 4D. Ao suportar uma tipagem mais estrita com classes, 4D lhe dá uma experiência de desenvolvimento mais robusta, sustentável e inteligente desde o design da estrutura até a execução em tempo de execução.
