Mobile App Development · Dart/Flutter

06 · Objetos

Primeiro contato com programação orientada a objetos em Dart: classes, atributos, construtores e métodos.

1Objetivo da aula

Nesta aula você vai introduzir a programação orientada a objetos em Dart: criar uma class como molde de um objeto, declarar atributos, inicializá-los com um construtor e adicionar métodos que definem o comportamento das instâncias.

2O que vamos aprender

class

Define o molde (blueprint) de um objeto: quais atributos e métodos toda instância dessa classe vai ter.

Atributo

Um dado armazenado em cada instância da classe, como nome ou idade de uma Pessoa.

Construtor

Método especial usado para criar (instanciar) um objeto, geralmente inicializando seus atributos com this.atributo.

Construtor nomeado

Uma forma alternativa de criar instâncias da mesma classe, como Usuario.convidado(), útil para configurações padrão.

Parâmetros nomeados

required this.nome exige que o valor seja informado ao instanciar, deixando a chamada do construtor mais legível.

Método

Uma função declarada dentro da classe que define um comportamento do objeto, como apresentar().

Objeto (instância)

Uma ocorrência concreta de uma classe, criada a partir do construtor — cada objeto tem seus próprios valores de atributos.

3Exemplo comentado

// Exemplo: definir uma classe com atributos, construtor com parâmetros
// nomeados obrigatórios e dois métodos que usam esses atributos.
void main() {
  // Cria (instancia) um objeto Aluno passando os parâmetros nomeados.
  final aluno = Aluno(nome: 'Marina', idade: 22);

  aluno.apresentar();
  print('Maior de idade? ${aluno.ehMaiorDeIdade()}');
}

// 'class' define o molde do objeto Aluno.
class Aluno {
  // Atributos: dados armazenados em cada instância.
  String nome;
  int idade;

  // Construtor com parâmetros nomeados obrigatórios (required).
  Aluno({required this.nome, required this.idade});

  // Método: comportamento que usa os atributos da instância atual.
  void apresentar() {
    print('Olá! Meu nome é $nome e tenho $idade anos.');
  }

  // Método que retorna um bool calculado a partir de um atributo.
  bool ehMaiorDeIdade() {
    return idade >= 18;
  }
}

4Saída esperada

Olá! Meu nome é Marina e tenho 22 anos.
Maior de idade? true

5Do conteúdo para a prática

6Prática sugerida