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).

Folha de consulta

Variáveis de instância são variáveis declaradas dentro de uma classe. Cada objeto recebe sua própria cópia dessas variáveis.

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
}

Use um método com this para definir os 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 objetos 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 de ponto:

print('${student1.name} is ${student1.age} at ${student1.school}');
// Saída: Alice is 20 at Dart Academy

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