Guía Práctica de Ejercicios Nº 4

Anuncio
Guía Práctica de Ejercicios Nº 4
En esta práctica utilizaremos los conceptos vistos sobre herencia, polimorfismo, clases
abstractas, interfaces y sobrecarga para aplicarlos en el lenguaje de programación Java.
Objetivo: Comprender, profundizar y reafirmar los conceptos de programación orientada a
objetos.
Introducción: Para entender los beneficios y cualidades de la programación orientada a
objetos necesitamos dominar los conceptos de herencia y reusabilidad, para aplicar de forma
eficaz y eficiente el paradigma. Además de ésto hoy en día las interfaces son herramientas muy
útiles y fomentan el desarrollo de aplicaciones reutilizable y bien definido.
Clases y Métodos con los que trabajaremos.
System: es una clase de la API de Java que contiene clases y métodos para el trabajo con
el sistema operativo.
System.out: objeto de tipo OutputStream de la clase System que permite manejar la salida
de flujo de información del sistema.
System.out.println(String cadena): es un método estático del objeto out del paquete
System(veremos más adelante estos conceptos en el curso), lo utilizaremos para mostrar
información por la consola en esta práctica.
GUGLER – Grupo Universitario de GNU/LINUX de Entre Ríos
Página 1 de 3
Ejercicios
Ejercicio 1:
Dada la siguiente interface y su implementación:
public interface House {
public void open(File f);
public void openFrontDoor();
}
public class MyHouse implements House {
public void open() {
}
public void openFrontDoor() {
}
public void openBackDoor() {
}
}
Indique cuales son los errores en la interfaz y en su implementación. Puede codificar ambas
clases en Eclipse para una ayuda.
GUGLER – Grupo Universitario de GNU/LINUX de Entre Ríos
Página 2 de 3
Ejercicio 2:
Crear una clase abstracta denominada Animal, de la cual derivan las clases Perro, Gato y
Vaca. Todas las subclases deben redefinir el método abstracto hablar(), de la clase Animal, según
como “hable” cada uno. Para ello puede declarar el método como de tipo de retorno void y
abstracto y luego utilizar el método println de System.out en cada implementación del mismo.
Además realice una clase que contenta el método main() denominada Principal que invoque a un
método denominado hablarAnimal(Animal a) que reciba un “Animal” como parámetro, y que le
permita “hablar”, polimórficamente, según sea Gato, Perro o Vaca.
Ejercicio 3:
Teniendo en cuenta los gustos alimenticios de los animales del ejercio anterior (el gato y el
perro son carnívoros y la vaca herbívora), incluir las respectivas interfaces de manera que cada
uno de los correspondientes objetos pueda comerCarne o comerHierba.
Ejercicio 4:
Modifique el método main utilizado en el ejercicio 2, invocando a otro método denominado
comerAnimal que reciba como parámetro a un Animal e invoque al correspondiente método para
comer (comerCarne o comerHierba) según el tipo de animal que sea.
GUGLER – Grupo Universitario de GNU/LINUX de Entre Ríos
Página 3 de 3
Descargar