Segundo o livro - Aprenda programação orientada a objetos em 21 dias.
O encapsulamento eficaz deve seguir esses dicas abaixo:
[list]Acesse seu TAD epenas através de uma interface de métodos; nunca permita que uma estrutura interna se torne parte da interface publica.[/list]
[color=red]Eu estou com muitas duvidas nessa parte do TAD e interface, se alguém poder me dar um luz com uma explicação, ou um exemplo em código mesmo ajudaria bastante[/color]
[list]Não forneça acesso as estruturas de dados internas, abstraia todo o acesso.[/list]
[color=red]Estrutura de dados internas seria as variáveis e os métodos da classe? Como eu posso abstrair o acesso?[/color]
[list]Não forneça acesso inadvertido as estruturas de dados internas, retornando acidentalmente ponteiros ou referencias.[/list]
[color=red]O que pode causar um acesso inadvertido? E o que seria ponteiros e referencias?[/color]
[list]Nunca faça suposições a respeito dos outros tipos que você usa. A não ser que um comportamento apareça na interface ou na documentação, não conte com ele.[/list]
[color=red]O que seria fazer suposições de outros tipos? O que seria comportamento, tipo, interface e documentação?[/color]
[list]Cuidado ao escrever dois tipos relacionados. Não se permita programar acidentalmente com base em suposições e dependências[/list]
[color=red]O que são tipos relacionados? E como assim programar acidentalmente com base em suposições e dependências?[/color]
[color=olive]Eu sei que estou perguntando muito coisa, e até abusando da boa vontade do pessoal do forum, mas eu estou com muita duvida nessa parte de Encapsulamento, e sem entender essa parte não posso dar continuidade no livro, eu estou lendo o mesmo capitulo todo dia pra tentar pegar mas ta complicado.[/color]