Converter para o tipo de um Retorno

5 respostas
Marck

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:

5 Respostas

alves.Felipe

Ola…

é algo assim que vc quer fazer??

objeto.setFuncionario((SeuObjFuncionario) algumObj);

isso é pra funcionar…

Dieval_Guizelini

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

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

Javabuntu

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

já tentou fazer?

victorwss

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

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

func.setFuncionario(func.getFuncionario().getClass().cast(obj));
Criado 11 de maio de 2008
Ultima resposta 11 de mai. de 2008
Respostas 5
Participantes 5