3.6 Conceitos básicos de Dart: Classes e Objetos

Dart é uma linguagem orientada a objetos, o que significa que quase tudo é um objeto, incluindo funções e null. Em Dart, as classes são a principal maneira de definir objetos. Entender as classes e objetos é fundamental para dominar Dart e, por extensão, Flutter.

Classes

Em Dart, uma classe é um modelo ou um plano a partir do qual objetos são criados. Uma classe representa um conjunto de propriedades (variáveis) e métodos (funções) que são comuns a todos os objetos de um determinado tipo.

Para definir uma classe em Dart, usamos a palavra-chave 'class' seguida pelo nome da classe. Por exemplo, se quisermos criar uma classe para representar um carro, poderíamos fazer algo assim:

class Car {
  String model;
  int year;
  
  void drive() {
    print('Vroom Vroom');
  }
}

Neste exemplo, 'Car' é uma classe com duas propriedades, 'model' e 'year', e um método chamado 'drive'.

Objetos

Um objeto é uma instância de uma classe. Ele tem um estado e um comportamento. O estado de um objeto é armazenado em suas propriedades e o comportamento é definido por seus métodos. Para criar um objeto a partir de uma classe, usamos a palavra-chave 'new' seguida pelo nome da classe e parênteses. Por exemplo, para criar um objeto da classe 'Car', faríamos o seguinte:

var myCar = new Car();

Neste exemplo, 'myCar' é um objeto da classe 'Car'. Podemos acessar as propriedades e métodos de um objeto usando o operador '.'. Por exemplo, para definir o modelo e o ano do nosso carro e depois fazer o carro dirigir, faríamos o seguinte:

myCar.model = 'Tesla Model S';
myCar.year = 2020;
myCar.drive();

Construtores

Um construtor é um método especial que é chamado quando um objeto é criado. Em Dart, cada classe tem um construtor padrão, que não tem parâmetros e não faz nada. No entanto, você pode definir seu próprio construtor para uma classe, o que pode ser útil para inicializar as propriedades de um objeto quando ele é criado.

Para definir um construtor para uma classe, usamos o nome da classe seguido por parênteses. Dentro dos parênteses, podemos definir os parâmetros para o construtor. Por exemplo, poderíamos definir um construtor para a classe 'Car' que aceita o modelo e o ano como parâmetros:

class Car {
  String model;
  int year;
  
  Car(String model, int year) {
    this.model = model;
    this.year = year;
  }
  
  void drive() {
    print('Vroom Vroom');
  }
}

Agora, quando criamos um novo carro, podemos passar o modelo e o ano diretamente para o construtor:

var myCar = new Car('Tesla Model S', 2020);

Conclusão

As classes e objetos são conceitos fundamentais em Dart e na programação orientada a objetos em geral. As classes nos permitem definir modelos para objetos, e os objetos nos permitem criar instâncias desses modelos. Os construtores nos permitem inicializar as propriedades de um objeto quando ele é criado. Dominar esses conceitos é essencial para criar aplicativos com Flutter e Dart.

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

Qual é a função de um construtor em Dart?

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

Você errou! Tente novamente.

Imagem do artigo Conceitos básicos de Dart: Herança e polimorfismo

Próxima página do Ebook Gratuito:

25Conceitos básicos de Dart: Herança e polimorfismo

2 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