Autor
|
Tema: [Java] Ayuda con herencia (Leído 2,098 veces)
|
samyri
Desconectado
Mensajes: 2
|
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
Mensajes: 210
|
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
Mensajes: 2
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Manejar Herencia en Java
Java
|
**Adem**
|
1
|
14,166
|
2 Marzo 2008, 17:38 pm
por Casidiablo
|
|
|
herencia en java
Java
|
bengy
|
3
|
2,459
|
20 Marzo 2014, 05:48 am
por Mitsu
|
|
|
Ayuda con programa con herencia en C++
Programación C/C++
|
Y@mil
|
0
|
1,571
|
17 Mayo 2015, 18:15 pm
por Y@mil
|
|
|
¿En qué estoy fallando en herencia java? auxilio por favor
Java
|
miltonprogramador
|
6
|
3,228
|
16 Diciembre 2016, 02:30 am
por miltonprogramador
|
|
|
Herencia java
Java
|
Dayleap
|
0
|
1,976
|
3 Abril 2017, 14:27 pm
por Dayleap
|
|