Menu
Coddy logo textTech

Variáveis de Instância

Parte da seção Programação Orientada a Objetos do Journey de Dart da Coddy — lição 7 de 110.

Variáveis de instância são variáveis declaradas dentro de uma classe. Cada objeto criado a partir da classe recebe sua própria cópia dessas variáveis, independentes de todos os outros objetos.

Declare variáveis de instância com um tipo e um valor padrão opcional:

class Student {
  String school = 'Dart Academy'; // possui um valor padrão
  String name = '';               // padrão vazio
  int age = 0;                    // padrão zero
}

Variáveis com valores padrão começam com o mesmo valor para cada novo objeto. Variáveis como name e age começam vazias ou em zero até que você as defina.

Use um método com this para definir dados individuais do objeto:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = variável de instância
    this.age = age;   // this.age  = variável de instância
  }
}

Crie estudantes e atribua seus dados:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

Acesse variáveis de instância usando o operador ponto:

print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');

Saída:

Alice is 20 at Dart Academy
Bob is 22 at Dart Academy

Observe que school é o mesmo para ambos os objetos porque possui um valor padrão, enquanto name e age são exclusivos para cada objeto porque foram definidos individualmente através de setInfo.

challenge icon

Desafio

Fácil

Complete a classe Student em student.dart:

  1. Declare uma variável de instância String school com o valor padrão 'Dart Academy'
  2. Declare uma variável de instância String name com o valor padrão ''
  3. Declare uma variável de instância int age com o valor padrão 0
  4. Adicione um método setInfo que recebe String name e int age como parâmetros e os define no objeto usando this

O arquivo driver.dart testará sua classe criando dois estudantes e imprimindo suas informações (bloqueado).

Experimente você mesmo

import 'student.dart';

void main() {
  Student student1 = Student();
  Student student2 = Student();

  student1.setInfo('Alice', 20);
  student2.setInfo('Bob', 22);

  print('${student1.name} is ${student1.age} at ${student1.school}');
  print('${student2.name} is ${student2.age} at ${student2.school}');
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos