Bom, não sei se foi tão rápido, mas não vi esse conceito.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom, não sei se foi tão rápido, mas não vi esse conceito.
Oi, Gustavo! Tudo bem?
Seguindo essa formação: A partir do zero: crie projetos em Dart, a linguagem utilizada no Flutter, você chegará em um curso que falará sobre:
Mas vou falar sobre um pouco agora:
O encapsulamento é um dos pilares da orientação a objetos e é um conceito fundamental para proteger os dados e a integridade dos objetos em um programa. Em Dart, o encapsulamento é implementado principalmente através do uso de modificadores de acesso e getters/setters.
Para entender melhor, vamos a um exemplo prático:
class Pessoa {
String _nome; // O underline torna o atributo privado
int _idade; // O underline torna o atributo privado
// Construtor
Pessoa(this._nome, this._idade);
// Getter para nome
String get nome => _nome;
// Setter para nome
set nome(String nome) {
if (nome.isNotEmpty) {
_nome = nome;
}
}
// Getter para idade
int get idade => _idade;
// Setter para idade
set idade(int idade) {
if (idade > 0) {
_idade = idade;
}
}
}
void main() {
var pessoa = Pessoa('João', 30);
print(pessoa.nome); // João
print(pessoa.idade); // 30
pessoa.nome = 'Maria';
pessoa.idade = 25;
print(pessoa.nome); // Maria
print(pessoa.idade); // 25
}
Neste exemplo, _nome e _idade são atributos privados (indicados pelo underline _), e só podem ser acessados diretamente dentro da classe Pessoa. Para acessar e modificar esses atributos de fora da classe, utilizamos os getters e setters. Isso permite controlar como os dados são acessados e modificados, garantindo que certas regras sejam seguidas (por exemplo, não permitir que a idade seja negativa).
Espero ter ajudado.
Um abraço e bons estudos.
Obrigado!!!