Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Enzo en 10 de Diciembre 2015, 20:08

Título: objeto Java puede ser del tipo definido por una interface instanciar CU00696B
Publicado por: Enzo en 10 de Diciembre 2015, 20:08
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,
Título: Re:Ejercicio CU00696B concepto interface java herencia multiple ejemplo diagrama de
Publicado por: Mario R. Rancel en 14 de Diciembre 2015, 08:28
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
Título: Re:Ejercicio CU00696B concepto interface java herencia multiple ejemplo diagrama de
Publicado por: Enzo en 15 de Diciembre 2015, 13:44
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,