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?
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?
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.