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.