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

Construtores das classes derivadas

Vejo do Java e estou com dificuldade em entender construtores em C#. Para que serve a sintaxe " : base (cpf) " apresentada na aula no seguinte código:

public Diretor(string cpf) : base(cpf)

Sendo que o construtor da classe base já prevê a entrada do cpf? Qual a utilidade desse código?

1 resposta
solução!

Olá Charles!

Como Diretor herda de Funcionario, é necessário que o construtor da classe filha passe um argumento de CPF para a classe base, pois esse atributo é privado e apenas dentro da classe base terá como alterar esse atributo.

Sem a palavra reservada base apenas o construtor de Diretor não conseguiria fazer a alteração do atributo privado que é alterado no construtor de Funcionario que se tornou obrigatório para compilar. Ou seja, Diretor não tem permissão de alterar CPF e passando o argumento para o construtor base conseguirá cumprir com a exigência de que todo funcionário precisa de um cpf.

Espero ter ajudado!