3.3. Orientação à Objetos em Dart: Getters e Setters

Diego Dias
Flutter Brasil
Published in
1 min readDec 1, 2021

Encapsulamento

Muitas das vezes nós não queremos que alguns atributos dos nossos objetos ou classes não sejam acessíveis por fora, por questões de segurança, isso se chama encapsulamento.

Assim, basta colocar um “_” à frente do atributo que quer privar, ou seja, ele só poderá ser acessado de dentro da classe ou objeto:

Cuidado! Porém no Flutter você não torna a classe privada para o arquivo que você está, você teria que criar outro arquivo para que ela ficasse privada. O privado seria variáveis de escopo.

int _idade;

Get

Então, para poder acessar estes atributos, utilizamos os Getters. Para declarar um Getter basta:

class Pessoa {
int _idade;
int get idade {
return _idade;
}
}

Assim, será possível acessar o atributo _idade usando a variável idade. Porém, com o Getter só podemos saber qual a idade, mas não podemos mudar tal atributo.

Podemos utilizar uma arrow function => também (é uma sintaxe mais curta):

class Pessoa {
int _idade;
int get idade => _idade;
}

Set

Já os Setter é para mudar o valor. Para usar um Setter fazemos assim:

class Pessoa {
int _idade;
double _altura;
int get altura {
return _altura;
}
set altura(double altura){
if(altura > 0.0 && altura < 3.0){
_altura = altura
}
}
}

No caso acima, estou colocando um limite para alterar a altura.

Aconselha-se usar somente para proteção.

--

--