Converter para o tipo de um Retorno

Bom dia a todos!

Tem como eu fazer uma conversão para um Objeto que eu pego em um retorno?

Exemplo bobo:

func.setFuncionario(   ((func.getFuncionario()) obj) );

O compilador reclama de parenteses e ponte-e-virgula.

Obrigado pela ajuda! :wink:

Ola…

é algo assim que vc quer fazer??


objeto.setFuncionario((SeuObjFuncionario) algumObj);

isso é pra funcionar…

Se você quer que o método setFuncionário receba objetos de classes distintas, tais como:

obj1.setFuncionario( obj2.getPessoa() );
obj1.setFuncionario( obj2.getCliente() );
obj1.setFuncionario( obj2.getTerceiro() );
obj1.setFuncionario( obj2.getParceiro() );

somente será possível se uma das duas situações seguintes ocorrerem:

  1. Pessoa,Cliente,Terceiro e Parceiro forem a mesma classe ou descendente de uma mesma classe, ou seja, você poderia ter modelado que as Classes Cliente, Terceiro e Parceiro fossem uma especialização de Pessoa. Neste caso, qualquer um dos objetos passaria no teste É UM de pessoa.

  2. Você tiver métodos sobrecarregados (com o mesmo nome, porém como os parâmetros respectivos para cada classe).

Em ambos os casos, estaremos utilizando outros recursos da OO e não serão “conversão” de tipos.

fw

Obrigado pelas respostas!

Mas o que eu preciso saber é se dá para fazer a conversão com o retorno de um get, como no exemplo que dei:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

atentando que quero converter obj em um Funcionario, mas, em vez de explicitamete informar a classe Funcionario, estou fazendo em tempo de execução, pelo getFuncionario();

Assim eu sei q funciona:

func.setFuncionario(   ((Funcionario) obj) );  

mas queria assim:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

obrigado novamente

[quote=Marck]Obrigado pelas respostas!

Mas o que eu preciso saber é se dá para fazer a conversão com o retorno de um get, como no exemplo que dei:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

atentando que quero converter obj em um Funcionario, mas, em vez de explicitamete informar a classe Funcionario, estou fazendo em tempo de execução, pelo getFuncionario();

Assim eu sei q funciona:

func.setFuncionario(   ((Funcionario) obj) );  

mas queria assim:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

obrigado novamente[/quote]

já tentou fazer?

[quote=Marck]Obrigado pelas respostas!

Mas o que eu preciso saber é se dá para fazer a conversão com o retorno de um get, como no exemplo que dei:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

atentando que quero converter obj em um Funcionario, mas, em vez de explicitamete informar a classe Funcionario, estou fazendo em tempo de execução, pelo getFuncionario();

Assim eu sei q funciona:

func.setFuncionario(   ((Funcionario) obj) );  

mas queria assim:

func.setFuncionario(   ((func.getFuncionario()) obj) );  

obrigado novamente[/quote]

Não vejo muito sentido no que você está tentando fazer, mas vê se isso resolve:

func.setFuncionario(func.getFuncionario().getClass().cast(obj));