Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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.
-
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