Na aula eu fiquei um pouco de dúvida sobre a definição de encapsulamento, será que poderia explicar novamente por favor ?
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!