Ejercicio 1:
El objetivo de este ejercicio es usar interfaces e ilustrar el
polimorfismo. Para ello vamos a modificar el ejercicio 2 de la sección de
Clases y Objetos.
Vamos a crear un nuevo programa llamado Prueba2.java,
que permita dibujar en una Pantalla cualquier objeto que tenga el
método pinta. Esos objetos podrán ser trayectorias, figuras, imágenes,
ovnis, o lo que sean. Este programa Prueba2.java
será similar al antiguo Prueba1.java, pero eliminando la restricción de
que los objetos a pintar sean trayectorias.
Entonces crearemos un interface
llamado Pintable que defina el método pinta(Pantalla pant):
// Dibuja la trayectoria en la pantalla dada.
public void pinta(Pantalla pant) {
Todos los objetos que deseemos que puedan ser dibujados en una
Pantalla, deberán implementar este interface.
En este ejercicio únicamente vamos a modificar el
ejercicio 2 de la sección de
Clases y Objetos para hacer uso del interface Pintable.
Entonces se pide hacer lo siguiente:
- Escribir el fichero java llamado Pintable.java que contenga el
interface descrito.
- Modificar las clases CircularT, LinealT,
EspiralT y LissajousT para que implementen el
interface Pintable.
- Crear el programa Prueba2.java. Este programa puede hacerse
partiendo de Prueba0.java y realizando las siguientes modificaciones:
- El método main debe crear un array de objetos
de tipo Pintable, en vez de crear varias variables de distinto
tipo de trayectorias.
- El array debe rellenarse con objetos de los diferentes tipos
trayectoria existentes. Nótese que ahora todas estas
trayectorias son también objetos de tipo Pintable.
- Escribir un bucle for que invoque el método pinta
con todos los objetos almacenados en el array.
Compile todos los ficheros java, ejecute Prueba2 y compruebe que todos los
objetos contenidos en el array se dibujan.
Ejercicio 2:
En este ejercicio crearemos nuevas clases para usarlas con el ejercicio 1 anterior.
Escriba clases que representen figuras como triangulos, rectángulos, círculos,
polígonos, etc. Todas ellas deben implementar
el interface Pintable.
Integre estas clases en el programa Prueba2.java, y pruebelas.
Ejercicio 3:
En este ejercicio crearemos varias clases procesadoras de Strings.
Para ello crearemos primero una clase Generador, que lee
palabras de la entrada estandar, y se las envia un procesador de
palabras.
Crearemos una interface, llamada Procesador, que contiene un
método para procesar los Strings que le pasen.
Ahora crearemos varios procesadores:
- Pintador: es un procesador que pinta por pantalla los
strings recibidos.
- Minusculas: Es un procesador que pasa a
minúsculas los Strings recibidos, y se los pasa a otro
procesador. Este segundo procesador se ha pasado como
parámetro en el constructor de Minusculas.
- QuitaRepetidos: Es un procesador que elimina Strings
repetidos. Si un String ya ha sido recibido, entonces no hace
nada con él. Si el String recibido es nuevo, se lo pasa
a otro procesador. Este segundo procesador se ha pasado como
parámetro en el constructor de QuitaRepetidos.
- Traductor: Es un procesador que traduce los Strings de
español a inglés, y se los pasa a otro
procesador. Este segundo procesador se ha pasado como
parámetro en el constructor de Traductor.
Hay que realizar también un pograma de prueba.
Página actualizada el día 20 de Enero de 2007.