4.1. Conceitos Avançados de Dart: Classes e Objetos

O Dart é uma linguagem de programação orientada a objetos, desenvolvida pelo Google, que oferece suporte robusto e flexível para a criação de aplicativos da web, móveis e desktop. Um dos conceitos fundamentais que o Dart utiliza é o de classes e objetos. Este conceito é fundamental para a compreensão de como o Dart opera e como podemos usá-lo para criar aplicativos sofisticados com Flutter.

Classes

Uma classe em Dart é um modelo para a criação de objetos. Uma classe define um conjunto de propriedades (chamadas variáveis de instância) e métodos que são específicos para o objeto. Quando criamos um objeto, estamos essencialmente criando uma instância de uma classe.

Para criar uma classe em Dart, usamos a palavra-chave 'class' seguida pelo nome da classe. O nome da classe deve começar com uma letra maiúscula. Dentro das chaves {}, definimos as propriedades e métodos da classe. Por exemplo, podemos criar uma classe 'Carro' com propriedades 'cor' e 'modelo' e um método 'dirigir'.

class Carro {
  String cor;
  String modelo;
  
  void dirigir() {
    print('O carro está dirigindo');
  }
}

As propriedades 'cor' e 'modelo' são variáveis de instância, enquanto 'dirigir' é um método da classe Carro.

Objetos

Um objeto é uma instância de uma classe. Quando criamos um objeto, estamos essencialmente criando uma cópia da classe com seu próprio conjunto de valores para as variáveis de instância. Para criar um objeto em Dart, usamos a palavra-chave 'new' seguida pelo nome da classe e parênteses ().

Carro meuCarro = new Carro();

Neste exemplo, 'meuCarro' é um objeto da classe Carro. Podemos agora definir os valores para as variáveis de instância 'cor' e 'modelo' e chamar o método 'dirigir'.

meuCarro.cor = 'vermelho';
meuCarro.modelo = 'sedan';
meuCarro.dirigir(); // Imprime 'O carro está dirigindo'

Construtores

Um construtor é um método especial dentro de uma classe que é chamado quando criamos um novo objeto. O Dart permite a criação de construtores para inicializar as variáveis de instância durante a criação do objeto. O construtor tem o mesmo nome da classe e pode ter parâmetros opcionais.

class Carro {
  String cor;
  String modelo;
  
  Carro(String cor, String modelo) {
    this.cor = cor;
    this.modelo = modelo;
  }
  
  void dirigir() {
    print('O carro está dirigindo');
  }
}

Neste exemplo, o construtor Carro() recebe dois parâmetros, 'cor' e 'modelo', e os atribui às variáveis de instância correspondentes. Agora, quando criamos um novo objeto Carro, precisamos fornecer os valores para 'cor' e 'modelo'.

Carro meuCarro = new Carro('vermelho', 'sedan');

Em conclusão, as classes e objetos em Dart fornecem uma poderosa estrutura para modelar e organizar o código em aplicativos Flutter. Eles permitem que encapsulemos dados e comportamentos relacionados em um único pacote reutilizável, tornando nosso código mais modular, flexível e fácil de entender e manter.

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

No contexto da linguagem de programação Dart, qual das seguintes afirmações é verdadeira?

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

Você errou! Tente novamente.

Imagem do artigo Conceitos avançados de Dart: Herança e polimorfismo

Próxima página do Ebook Gratuito:

40Conceitos avançados de Dart: Herança e polimorfismo

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