Autor Tema: Herencia múltiple Java ¿se puede implementar 2 interfaces en una clase? CU00696B  (Leído 4359 veces)

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Buenas tardes!

Vengo a resolver el ejercicio 96° del curso, donde se nos pregunta lo siguiente:

Citar
a) ¿Una clase puede heredar de dos clases en Java?

Si puede, usando una interface (herencia múltiple). Si hablas de solo usar extends, pues no es posible

Citar
b) ¿Una interface Java puede tener métodos que incluyan una sentencia while? ¿Una interface Java puede tener métodos que incluyan una sentencia System.out.println?

No es posible, las interface no tienen cuerpo (¿Entonces que heredarían si no puedo colocar metodos?... puras variables estáticas?  ???)

Citar
c) ¿Un objeto Java puede ser del tipo definido por una interface? ¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que no implementa la interface? ¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que implementa la interface?

1) Si es posible
2) No es posible
3) Si es posible

Esperare sus comentarios para aclarar esa duda!, estuve leyendo en otra pagina sobre un tipo que dijo lo siguiente:

Conclusión: ¿Se debe utilizar la herencia múltiple? A mi forma de pensar, si no está implementada nativamente, se debería de evitar el uso de una simulación que va en contra de la naturaleza del lenguaje. Además pienso que todo problema que o esquema de clases se pueden llegar a plantear de forma que solamente utilicemos la herencia simple, ya que es más sencilla y es más natural que se herede de un solo padre.

¿Que opinan de eso?
« Última modificación: 28 de Abril 2015, 09:02 por Mario R. Rancel »
"Luchar por tus sueños y cumplirlos... eso es vivir.."

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola Dan

Para la pregunta a) la respuesta más exacta es que no: no puede heredar siguiendo el concepto de herencia java. Lo que puede es implementar varias interfaces, que podríamos ver como una forma de herencia limitada. Tu respuesta es correcta, pero ten en cuenta que java no admite herencia múltiple: java lo que admite es que una clase implemente múltiples interfaces. Esto no es herencia múltiple, sino lo más parecido a la herencia múltiple que permite java. Otros lenguajes sí permiten herencia múltiple.

b) Es correcta

c) Correcta


Sobre la conclusión. Java no admite la herencia múltiple, por tanto no la podemos utilizar ni aunque quisiéramos. Respecto a implementar más de una interface en una clase, no es habitual pero es posible. Lo haremos sólo cuando justificadamente sea necesario. Si justificadamente es necesario, no hay problema en utilizar esta práctica.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".