Estou com dúvida pois, após declara o private set do Cpf na classe Funcionario, o Cpf pego como base(cpf) na classe Diretor passa a dar erro acusando como sendo inacessível .
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!
Estou com dúvida pois, após declara o private set do Cpf na classe Funcionario, o Cpf pego como base(cpf) na classe Diretor passa a dar erro acusando como sendo inacessível .
Igor,
Eu acredito que você não entendeu o seguinte ponto:
Como a classe Diretor HERDA a classe funcionário, vai herdar tudo, inclusive o construtor da classe funcionário que EXIGE a obrigatoriedade de preencher o CPF na hora de instanciar a classe.
Outra característica do funcionário que o diretor herda é:
public string? CPF { get; private set; }
Como o "set" (definir) está privado, você NÃO pode modificar este valor fora da classe.
Então, por tabela, você NÃO pode acessar o CPF do diretor, pois também NÃO pode acessar o CPF do funcionário.
Sacou o lance da herança? Vai ficar inacessível mesmo, pois herdou a característica do funcionário.
DICA:
Decore as regras sagradas (sacra praecepta) dos modificadores de acesso:
[]'s,
Fabio I.