0Pricing
Dart Academy · Aula

Construtores nomeados para uma intenção clara

Ofereça várias formas de construir objetos.

Construtores nomeados para uma intenção clara é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.

Por que usar construtores nomeados

Uma classe frequentemente precisa de várias formas de ser criada. Um construtor nomeado dá a cada caminho um rótulo claro, para que os chamadores saibam exatamente o que receberão.

A sintaxe de nomeação

Escreva o nome da classe, um ponto e, em seguida, o seu rótulo. A forma ClassName.label parece uma pequena frase no local da chamada.

class Point {
  int x, y;
  Point.origin() : x = 0, y = 0;
}

Chamando um construtor nomeado

Invoque-o assim como faria com o construtor sem nome, mas inclua o rótulo. Isso torna a intenção do objeto evidente no código.

var p = Point.origin();
print(p.x); // 0

Vários construtores nomeados

Adicione quantos quiser, cada um descrevendo um caso de uso. Aqui, um cria um carrinho vazio e outro cria um carrinho predefinido.

class Cart {
  int items;
  Cart.empty() : items = 0;
  Cart.preset() : items = 3;
}

Construtores nomeados com parâmetros

Eles também podem receber argumentos, permitindo combinar um rótulo claro com valores personalizados para obter um ponto de entrada flexível e legível, no estilo de uma fábrica.

class User {
  String name;
  User.guest(this.name);
}

Combinando com o construtor sem nome

Uma classe pode manter seu construtor normal sem nome e adicionar construtores nomeados ao lado dele, atendendo tanto aos casos comuns quanto aos especiais.

class Color {
  int value;
  Color(this.value);
  Color.black() : value = 0;
}

Modelando fontes diferentes

Os construtores nomeados são especialmente úteis quando os mesmos dados chegam de lugares diferentes, como um mapa JSON ou valores brutos, cada um com seu próprio rótulo.

class User {
  String name;
  User.fromName(this.name);
}

Legibilidade no local da chamada

Compare Temperature.celsius(20) com um número isolado. O rótulo elimina dúvidas, portanto os construtores nomeados aumentam a clareza para quem lê.

var t = Temperature.celsius(20);

Eles ainda criam o mesmo tipo

Independentemente do construtor chamado, você obtém uma instância da mesma classe. O rótulo muda apenas como ela é inicializada, não o seu tipo.

var a = Point.origin();
print(a is Point); // true

Combine com os atalhos this

Os construtores nomeados aceitam o mesmo atalho this.field, mantendo a inicialização concisa mesmo com um rótulo descritivo.

class Box {
  int w, h;
  Box.square(this.w) : h = w;
}

Escolha rótulos descritivos

Escolha rótulos que descrevam o resultado, como fromMap ou withDefaults. Um bom rótulo transforma o local da chamada em documentação.

class Config {
  Config.withDefaults();
  Config.fromMap(Map m);
}

Verificação rápida

Verificação rápida sobre a sintaxe de construtores nomeados.

Recapitulação: intenção clara

Você aprendeu a adicionar construtores nomeados com a sintaxe de ponto, combiná-los com o construtor sem nome e passar parâmetros para criar objetos de forma legível e expressiva. 👍

Perguntas Frequentes

A aula “Construtores nomeados para uma intenção clara” é grátis?

Sim — o texto completo de “Construtores nomeados para uma intenção clara” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.

O que vou aprender em “Construtores nomeados para uma intenção clara”?

Ofereça várias formas de construir objetos. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Dart Academy?

Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Construtores nomeados para uma intenção clara”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Dart Academy?

Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Construtores padrão e parametrizados
  2. Construtores nomeados para uma intenção clara
  3. Listas de inicialização e redirecionamento
  4. Construtores factory e const
← Voltar para Dart Academy