Na aula eu fiquei um pouco de dúvida sobre a definição de encapsulamento, será que poderia explicar novamente por favor ?
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!
Na aula eu fiquei um pouco de dúvida sobre a definição de encapsulamento, será que poderia explicar novamente por favor ?
Em resumo é o processo de ocultar membros de uma classe a acesso externo. Serve como uma maneira de preservar a integridade dos dados. Você não vai trabalhar acessando diretamente eles apenas indiretamente.
Imagine um semáforo onde podemos ver a cor, porém não podemos chamar a próxima cor quando bem entendermos (vermelho-amarelo-vermelho). Levando isso para uma classe de forma conceitual teríamos o public getCorAtual() e o private setCorAtual(), os dois atuariam na propriedade CorAtual porem você nunca estaria acessando a variável private _corAtual.
As fontes abaixo podem ajudar com uma explicação mais detalhada.
Fontes: https://www.macoratti.net/18/01/c_encaps1.htm , https://pt.wikibooks.org/wiki/Programa%C3%A7%C3%A3o_Orientada_a_Objetos/Encapsulamento
Taniguchi,
Existem milhares de explicações na teia...
... a que eu mais gosto é a da "Caixa Preta". Imagine uma "caixa preta" na qual você passa alguns parâmetros (valores) para ela e ela te devolve uma ou mais respostas. Você NÃO tem a menor ideia do que está dentro da caixa e COMO ela faz para te devolver os valores, a única coisa que você sabe na melhor das hipóteses é que os valores estão certos ou errados (as vezes nem isso sabemos).
Por favor, leia o artigo:
===============================
Encapsulamento em POO: o que é, como funciona e por que usar?
by Cairo Noleto
24 de setembro de 2020
O encapsulamento transforma a implementação de alguns códigos em uma espécie de caixa preta. Na prática, isso significa que as classes externas não precisam acessar alguns dados de forma direta. Assim, o desenvolvimento dos sistemas passa a ficar simplificado e acelerado.
===============================
[]'s,
Fabio I.
Muito obrigado senhores pela excelente explicação!