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

Qual a diferença de declarar a variável do tipo Funcionário e Designer por exemplo?

Funcionario Felipe = new Designer("111.444.222-99");

ou

Designer Felipe = new Designer("111.444.222-99");

O que eu posso ou não fazer, se eu declarar o Tipo como Funcionário em vez de Designer?

1 resposta
solução!

Olá, Felipe. Tudo bom?

Na situação da aula, não fará diferença. Afinal, o tipo Designer deriva de Funcionario, mas não adiciona nenhum membro novo (propriedade ou método).

Contudo, se a classe Designer possuísse um método public double GetCustoDeArte(Projeto projeto) você só poderia o acessar a partir de uma referência de Designer e não do Funcionario - o funcionário não possui este método, apenas o Designer.

Então o código abaixo não compilaria:

01 | Funcionario funcionario = new Designer("111.444.222-99");
02 | funcionario.GetCustoDeArte(projeto);

E o erro aconteceria na linha 2, pois referências do tipo Funcionario não dão a garantia que o método GetCustoDeArte existe.

Beleza? O que você acha?

Abs e bons estudos.