O objeto identifica o método a ser chamado através de sua assinatura, por exemplo:
publicvoidCadastrarCliente(){//implementação do código}
publicvoidCadastrarCliente(Stringnome){//implementação do código}
publicvoidCadastrarCliente(Stringnome,telefone,email){//implementação do código}
henry.everton
Nao nao… mas ai é sobrecarga de metodo…
eu estou dando uma olhada na apostila da caelum na parte de poliformismo e la simplismente nao tem sobrecarga… ele passa funcionario e ja identifica qual metodo que deve retornar!
fabim
Provavelmente o método registra nao lida com Gerente nem Funcionarios, mas com Empregados (assumindo que tanto Gerente qto Funcionarios
extendem de Empregado )… como tanto gerente qto funcionarios sao empregados, nao há problema… mas note que, com a referencia de Empregado (a superclasse) vc so vai poder usar os metodos definidos NA superclasse
rodrigoallemand
Ele faz mais ou menos assim, sendo bem didático...
Quando vc invoca um método de um objeto, ele checa se este método existe, caso não, ele sobe a instancia ao seu "pai" até chagar na classe Objetc...
publicclassFuncionario{publicvoidfazAlgumaCoisa(){//Faz qq coisa}publicvoidfazUmaCoisaUnica(){//Faz qq coisa}}publicclassGerenteExtendsFuncionario{publicvoidfazAlgumaCoisa(){//Faz qq coisa}publicvoidfazOutraCoisa(){//Faz qq coisa}}Funcionáriofuncionario=newFuncionario();funcionario.fazAlgumaCoisa();//OKfuncionario.fazUmaCoisaUnica();//OKGerentegerente=newGerente();gerente.fazAlgumaCoisa();//Executa o fazAlgumaCoisa sobrescrito pelo Gerentegerente.fazUmaCoisaUnica();//Faz o fazUmaCoisaUnica do Funcionário, herdado no extendsgerente.fazOutraCoisa();//Faz outra coisa, que é só do gerente