Middle
O que permite fazer aos construtores constantes em Dart?
sobes.tech IA
Resposta da IA
Os construtores constantes em Dart permitem criar objetos que são constantes em tempo de compilação. Isso significa que o valor do objeto é conhecido durante a compilação, não apenas em tempo de execução.
Vantagens de usar construtores constantes:
- Desempenho: Os objetos criados com construtores constantes são armazenados em cache pelo compilador. Se vários objetos constantes iguais forem criados, eles na verdade referenciam a mesma instância na memória, o que reduz os custos de criar novos objetos e diminui o consumo de memória.
- Eficiência: Permite otimizar o código durante a compilação.
- Uso em expressões constantes: Os objetos criados com um construtor constante podem ser utilizados em outras expressões constantes, por exemplo, em declarações
const.
Condições para usar um construtor constante:
- Todos os campos da classe devem ser finais.
- O corpo do construtor deve estar vazio ou conter apenas uma chamada ao construtor pai (
super()). - O construtor deve ser marcado com a palavra-chave
const.
Exemplo:
class Point {
final double x;
final double y;
// Construtor constante
const Point(this.x, this.y);
}
void main() {
// Criação de objetos constantes
const Point p1 = Point(0.0, 0.0);
const Point p2 = Point(0.0, 0.0);
// p1 e p2 referenciam o mesmo objeto na memória
print(p1 == p2); // Vai imprimir true
}