Autor Tema: objeto Java puede ser del tipo definido por una interface instanciar CU00696B  (Leído 3987 veces)

Enzo

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 82
    • Ver Perfil
Hola,

Aquí contesto a las preguntas del ejercicio del Tema "CU00696B concepto interface java herencia multiple ejemplo diagrama de clase":

Citar
a) ¿Una clase puede heredar de dos clases en Java?
Si. Haciendo uso de las clase interface

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?
Una interface no puede tener métodos que tengan cuerpo porque todos los métodos de estas clases deben ser abstractos.

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?
No. No se puede crear un objeto del tipo definido por una interfaz.

Espero vuestros comentarios,

Un Saludo,
« Última modificación: 17 de Diciembre 2015, 08:46 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenos días este tema es un poco complejo no te preocupes pues se va entendiendo poco a poco.

Te digo lo que serían las respuestas correctas.


a) No. En Java no se permite la herencia múltiple. No obstante, se puede simular algo parecido a la herencia múltiple haciendo que dos clases implementen una interface.

Errores de concepto: no existe una "clase interface". En Java existen interfaces, clases abstractas, clases concretas... y todas ellas pueden ser tipos estáticos. Sin embargo para instanciar un objeto hemos de hacerlo con una clase concreta (es decir, su tipo dinámico ha de ser una clase concreta).

Recomendación: volver a leer la entrega

Citar
Java no permite la herencia múltiple, pero a cambio dispone de la construcción denominada “Interface” que permite una forma de simulación o implementación limitada de la herencia múltiple.

b) Correcta. Digamos que una interface declara lo que debe hacer una clase que la implemente, pero no dice cómo ha de hacerlo, por eso no lleva instrucciones, sino solo declaraciones o signaturas.

c) Sí se puede crear un objeto del tipo definido por una interface (como tipo estático).

Por ejemplo List <String> lista1 = new ArrayList<String> lista1 ();

List es una interface y ArrayList una clase concreta. El objeto es al mismo tiempo de tipo List y tipo ArrayList (polimorfismo).

El objeto no podrá ser de un tipo que no implemente la interface que es su tipo estático porque supondría una contradicción en la declaración de tipos.

Sí puede ser del tipo definido por una interface y de una clase que implemente la interface como en el ejemplo List - ArrayList.


Para repasar y ver ejemplos es recomendable leer las respuestas y comentarios en https://www.aprenderaprogramar.com/foros/index.php?topic=1332.0

Si te quedan dudas coméntamelas

Saludos

Enzo

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 82
    • Ver Perfil
Hola Mario,

¡¡¡Vamos, que no he dado una!!!. La verdad es que cuesta pillarlo.

Me voy a repasar el tema y a mirar el link que me dejas.

Muchas gracias,

Un Saludo,


 

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".