5.9. Introdução à programação orientada a objetos em Dart: Construtores

Ouça em áudio

A programação orientada a objetos (POO) é um paradigma de programação que utiliza a ideia de "objetos" para representar dados e métodos. Dart, a linguagem de programação usada para desenvolver aplicativos Flutter, é uma linguagem orientada a objetos. Neste contexto, vamos explorar um aspecto fundamental da POO em Dart: os construtores.

Os construtores em Dart são funções especiais que são usadas para criar e inicializar um objeto de uma classe. Eles têm o mesmo nome da classe e podem ter parâmetros para inicializar atributos do objeto. Os construtores são chamados quando você cria uma instância de uma classe usando a palavra-chave 'new'.

Para ilustrar, vamos considerar uma classe 'Carro'. Esta classe pode ter atributos como 'marca', 'modelo' e 'ano'. Para inicializar estes atributos quando criamos um objeto 'Carro', podemos usar um construtor. Veja o exemplo abaixo:

class Carro {
  String marca;
  String modelo;
  int ano;

  Carro(String marca, String modelo, int ano) {
    this.marca = marca;
    this.modelo = modelo;
    this.ano = ano;
  }
}

Aqui, 'Carro' é o construtor. Ele aceita três parâmetros e usa-os para inicializar os atributos do objeto. Para criar um objeto 'Carro', faríamos o seguinte:

Carro meuCarro = new Carro('Toyota', 'Corolla', 2020);

Neste caso, 'meuCarro' é um objeto da classe 'Carro'. Seu 'marca' é 'Toyota', seu 'modelo' é 'Corolla' e seu 'ano' é 2020.

Dart também oferece construtores nomeados. Estes são construtores que têm nomes além do nome da classe. Eles são úteis quando uma classe precisa de mais de um construtor. Por exemplo, a classe 'Carro' pode ter um construtor nomeado 'Carro.usado' para criar carros usados:

class Carro {
  String marca;
  String modelo;
  int ano;

  Carro(String marca, String modelo, int ano) {
    this.marca = marca;
    this.modelo = modelo;
    this.ano = ano;
  }

  Carro.usado(this.marca, this.modelo) {
    ano = DateTime.now().year - 1;
  }
}

Aqui, 'Carro.usado' é um construtor nomeado. Ele aceita dois parâmetros para 'marca' e 'modelo', e define 'ano' como o ano anterior ao ano atual. Para criar um carro usado, faríamos o seguinte:

Carro meuCarroUsado = new Carro.usado('Toyota', 'Corolla');

Em Dart, também temos os construtores constantes. Eles são usados para criar objetos imutáveis, ou seja, objetos cujos valores não podem ser alterados depois de serem criados. Para criar um construtor constante, usamos a palavra-chave 'const'.

Finalmente, Dart também oferece a sintaxe de açúcar para construtores: os construtores de inicialização de variáveis. Eles permitem que você inicialize variáveis diretamente nos parâmetros do construtor, tornando o código mais conciso:

class Carro {
  String marca;
  String modelo;
  int ano;

  Carro(this.marca, this.modelo, this.ano);
}

Os construtores são uma parte essencial da programação orientada a objetos em Dart. Eles permitem que você controle como os objetos são criados e inicializados, proporcionando maior flexibilidade e segurança no seu código.

Agora responda o exercício sobre o conteúdo:

O que são construtores na programação orientada a objetos em Dart e como eles são usados?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Introdução à programação orientada a objetos em Dart: Sobrecarga de operadores

Próxima página do Ebook Gratuito:

66Introdução à programação orientada a objetos em Dart: Sobrecarga de operadores

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto