Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Prática de usar protected em dados "sensíveis"

Nessa aula, tivemos que alterar a visibilidade do atributo "Salario", passando de private pra protected, dando uma "abertura" para ser manipulada pelas classes filhas.

Em um cenário real, esta é uma boa prática? Existiria algum meio que seja possível acessar atributos "protected" sem herdar uma classe pai ?

1 resposta
solução!

E ai Guilherme, tudo bom? Então, não assisti estas aulas, porém, posso te dar um norte.

Veja bem, o limitador de aceso Protected é utilizado para restringir propriedades entre Classe Base e Classes Derivadas de forma que outras classes não derivadas tenham o acesso, sendo assim, não é possível que seja acedida de outra forma.

(O C# hoje não tem disponível em sua coleção a multipla herança (também))

Com relação as boas práticas entre Privados e Protegidos, isso já é uma antiga história que já foi muito debatida, eu defendo a usabilidade de ambas.

Tudo depende muito do direcionamento do seu código, vamos supor que você esteja escrevendo uma biblioteca, de fato, você não sabe se aqueles membros contidos precisarão de um modificador externo para facilitar o trabalho e não precisar ser reescrito. O Protected é uma boa prática desde que inserido neste contexto, quando não se tem certeza de que aquele atributo/membro precisará de um modificador. Ademais, o que é mais aceito pela comunidade hoje são as propriedades privadas, por conta do encapsulamento/rastreabilidade e composição de testes unitários. Claro, isto evita possíveis bugs, mas no quesito de Orientação a Objetos, acaba tornando tudo muito engessado.

Espero ter contribuído.