Middle
Fale sobre construtores constantes no Flutter.
sobes.tech IA
Resposta da IA
O construtor constante permite criar um objeto que o compilador pode calcular durante a compilação e reutilizar. Isso melhora o desempenho e reduz o consumo de memória.
Características principais:
- Marcado com a palavra-chave
const. - Todos os campos da classe definidos por esse construtor devem ser
final. - Todos os argumentos do construtor também devem ser constantes ou ter valores padrão constantes.
- Ao criar uma instância com esse construtor, usa-se a palavra-chave
const.
Exemplo:
class Point {
final double x;
final double y;
const Point(this.x, this.y); // Construtor constante
}
void main() {
// Esses dois objetos representarão a mesma instância na memória
const p1 = Point(1.0, 2.0);
const p2 = Point(1.0, 2.0);
// Este objeto será uma nova instância
final p3 = Point(1.0, 2.0);
print(identical(p1, p2)); // Irá imprimir: true
print(identical(p1, p3)); // Irá imprimir: false
}
Vantagens de usar construtores const:
- Desempenho: Os objetos são criados apenas uma vez e reutilizados.
- Redução do consumo de memória: Diminui a quantidade de objetos criados.
- Imutabilidade: Os objetos criados com
constsão imutáveis.
Restrições:
- A classe não deve ter um construtor de fábrica (
factory). - A classe não pode conter campos mutáveis.
Construtores constantes são frequentemente usados para criar widgets imutáveis no Flutter, como Text, Icon, Padding, SizedBox, o que é uma boa prática para otimizar o desempenho da interface do usuário.