Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LuisM en 12 de Octubre 2017, 02:50

Título: Concepto de interface y herencia múltiple en Java. Implements. CU00696B
Publicado por: LuisM en 12 de Octubre 2017, 02:50
Hola a todos !!! Paso a dejar las respuestas del ejercicio CU00696B del curso básico de programación Java en pdf. Desde ya muchas gracias por la atención.
Saludos,
Luis

EJERCICIO

Responde a las siguientes preguntas:

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

Rta: No, Java no permite herencia múltiple.

b) ¿Una interface Java puede tener métodos que incluyan una sentencia while?

No, todo método es abstracto y público sin necesidad de declararlo. Al ser abstracto no tiene cuerpo.

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

No, los métodos tienen que estar vacíos(sin cuerpo) por ser abstractos.


c) ¿Un objeto Java puede ser del tipo definido por una interface?


Si, si se hace con 2 o más interfaces es lo que llamamos herencia múltiple en Java

¿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?


No (salvo que la clase herede de otra clase que SI implemente 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?

Si.

Para estas dos preguntas prefiero usar un muy buen ejemplo de Mario Rancel:

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. Ejemplo list1=new List<String>(); porque List es una interface

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

Título: Re:Concepto de interface y herencia múltiple en Java. Implements. CU00696B
Publicado por: Alex Rodríguez en 06 de Diciembre 2017, 17:56
Hola LuisM, todo correcto

Saludos