Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jarper en 29 de Enero 2015, 12:21

Título: CU00696B concepto interface java herencia multiple ejemplo diagrama de clase
Publicado por: Jarper en 29 de Enero 2015, 12:21
Buenos días,

¿podríais corregir el ejercicio y añadir comentarios, por favor?

 EJERCICIO

Responde a las siguientes preguntas:

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

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 puede tener implementado ningún método. Sólo definir la signatura del método.

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?
- Sí, puede ser del tipo definido por una interface.
- Sí, puede ser del tipo definido por una interface y de una clase que no implemente una interface.
- Sí, puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que implementa una interface.

Muchas gracias, atentamente.
Título: Re:CU00696B concepto interface java herencia multiple ejemplo diagrama de clase
Publicado por: toni_apr en 29 de Enero 2015, 23:36
Hola Jarper

Respuesta a)
   Correcto. No se puede.

Respuesta b)
   Correcto y correcto.

Respuesta c)
-1 Correcto. Si puede.

-2 No es correcto
Para comprenderlo te propongo que crees un pequeño código:
Crea una interface y dos clases. La primera clase que implemente la interface y la segunda que no la implemente pero que herede (extienda) de la primera.
Esto cumple el enunciado de la pregunta.

Las clases que tengan por ejemplo un solo atributo y un método get para leer ese atributo.

Luego en una clase con main vas a crear 4 objetos. Dos definidos por la interface y los inicializas con el constructor de cada una de las clases.
Y los otros dos objetos definidos por la clase que no implementa a esta interface y los inicializas también cada uno por una de las clases

Hecho esto, comprueba a qué métodos tiene acceso cada uno de los cuatro objetos.
Del resultado deberás sacar conclusiones nuevas.

-3 Correcto. Ejem.

public class Clase1  implements Interface1 {...}

Interface1 tmp = new Clase1();

El objeto tmp se declara perteneciente a Interface1, y se inicializa perteneciente a Clase1.
Así el objeto tmp cumple las dos condiciones

Saludos