elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Java] Ayuda con herencia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Java] Ayuda con herencia  (Leído 2,072 veces)
samyri

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[Java] Ayuda con herencia
« en: 16 Agosto 2014, 02:51 am »

Hola:
Tengo un metodo abstracto implementado por dos clases hijas. Me gustaria que el return de una sea en int y el de la otra sea en String, pero como el tipo del return se define al momento de crear el metodo abstracto se me hace imposible.

Mi pregunta es si existe alguna forma de hacerlo o si es imposible.

Desde ya muchas gracias, agradezco mucho cualquier ayuda.


En línea

Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: [Java] Ayuda con herencia
« Respuesta #1 en: 16 Agosto 2014, 14:40 pm »

Hola.

Si tienen los mismos parámetros, no es posible. El tipo del valor de retorno de la función virtual tiene que estar fijado y no puedes modificarlo al heredar. Tampoco puedes crear dos funciones con igual nombre y conjunto de parámetros, y diferenciarlas exclusivamente por el tipo de retorno. La cabecera de las funciones la constituyen el nombre y los parámetros, así que no es posible distinguirlas por el tipo de retorno.

Plantéate si realmente te hace falta hacer eso. Si los tipos son diferentes, ¿no crees que son tan diferentes que tendría más sentido definirla exclusivamente para las clases hijas, sin hacerla constar como método virtual de la superclase? Si la respuesta es que no, quizás quieras plantearte hacer que el tipo de retorno del método virtual sea Object, y en una clase hija devolver un Integer y en la otra devolver un String, aprovechando que en Java todas las clases heredan de Object.

Saludos


En línea

samyri

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [Java] Ayuda con herencia
« Respuesta #2 en: 19 Agosto 2014, 16:37 pm »

Muchas gracias Xandrete por sacarme de esa gran duda, ahora no perderé mas tiempo buscando como hacer el método.

En cuanto a tu solución, no me sirve crear el método del tipo object, pero utilizando instance of, podría hacer la conversión correspondiente al obtener los datos. Por otro lado, si hago esto,  podría resultar mejor eliminar la herencia, tal como me comentabas.

Gracias por tu ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejar Herencia en Java
Java
**Adem** 1 14,154 Último mensaje 2 Marzo 2008, 17:38 pm
por Casidiablo
herencia en java
Java
bengy 3 2,427 Último mensaje 20 Marzo 2014, 05:48 am
por Mitsu
Ayuda con programa con herencia en C++
Programación C/C++
Y@mil 0 1,542 Último mensaje 17 Mayo 2015, 18:15 pm
por Y@mil
¿En qué estoy fallando en herencia java? auxilio por favor
Java
miltonprogramador 6 3,208 Último mensaje 16 Diciembre 2016, 02:30 am
por miltonprogramador
Herencia java
Java
Dayleap 0 1,962 Último mensaje 3 Abril 2017, 14:27 pm
por Dayleap
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines