Ayed tp3

Solo disponible en BuenasTareas
  • Páginas : 7 (1652 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de marzo de 2012
Leer documento completo
Vista previa del texto
Encapsulamiento y Abstracción

Objetivos:
• Acostumbrarse a utilizar las operaciones para acceder a las estructuras de datos y no violar el encapsulamiento.
• Acostumbrarse a reutilizar el código y no volver codificar desde cero.
• Implementar y usar de las estructuras de datos: lista, pila y cola
• Aprovechar la utilización de tipos genéricos.




Ejercicio 1

Considere lasiguiente especificación de operaciones de una lista:


comenzar () // Se prepara para iterar los elementos de la lista.
proximo () // Avanza al próximo elemento de la lista.
fin() // Determina si llegó o no al final de la lista.
elemento () // Retorna el elemento actual.
elemento (int pos) // Retorna el elemento de la posición indicada
agregar (int elem, int pos) //Agrega el elemento en la posición indicada y retorna true:si pudo agregar y
false; si no pudo agregar.
eliminar () // Elimina el elemento actual.
eliminar (int pos) // Elimina el elemento de la posición indicada
esVacia()// Retorna true si la lista está vacía, false en caso contrario
incluye (int elem) // Retorna true si elemestá contenido en la lista, false en caso contrario.
tamaño () // Retorna la longitud de la lista

a) Implemente en JAVA (pase por máquina) una clase abstracta llamada ListaDeEnteros de acuerdo a la especificación dada.
b) Escriba una clase llamada ListaDeEnterosConArreglos como subclase de ListaDeEnteros, de manera que implemente todos los métodos definidos en la superclasehaciendo uso de arreglos de longitud fija.
c) Escriba una clase llamada TestListaDeEnterosConArreglosque reciba en su método main una secuencia de números, los agregue a un objeto de tipo ListaDeEnterosConArreglos y luego imprima los elementos de dicha lista.
d) Escriba una clase llamada ListaDeEnterosEnlazada como otra subclase de ListaDeEnteros, de manera que implemente todos los métodosdefinidos en la superclase pero haciendo uso de una estructura recursiva. En este caso la clase Lista tendrá una referencia al elemento inicial y actual. Luego, se definirá otra clase recursiva que contenga el elemento y que referencie a una instancia similar a sí misma.
e) Escriba una clase llamada TestListaDeEnterosEnlazada que reciba en su método main una secuencia de números, los agregue a unobjeto de tipo ListaDeEnterosEnlazada y luego imprima los elementos de dicha lista.
f) ¿Es posible implementar el método incluye en la clase Lista de manera que solo utilice otras operaciones de Lista y no dependa de la estructura interna elegida en las subclases? Si fuera posible, ¿funcionaria el envío de este mensaje a un objeto de tipo ListaDeEnterosConArreglos?





Ejercicio 2Implemente en JAVA (pase por máquina) una clase abstracta llamada Lista de acuerdo a la especificación dada en el ejercicio anterior, pero esta vez los elementos que contendrá la lista deben ser de tipo Object.

a) Escriba una clase llamada ListaEnlazada como subclase de Lista, de manera que implemente todos los métodos definidos en la superclase pero haciendo uso de una estructura recursiva.En este caso la clase Lista tendrá una referencia al elemento inicial y actual. Luego, se definirá otra clase recursiva que contenga el elemento y que referencie a una instancia similar a sí misma.
b) Escriba una clase llamada TestListaEnlazada que reciba en su método main una secuencia de Strings, los agregue a un objeto de tipo ListaEnlazada y luego imprima los elementos de dicha lista.OPCIONAL

c) ¿Es posible sobrescribir los métodos public boolean equals(Object) y public String toString() de la clase Object en la clase Lista de manera que la implementación sirva para las subclases? Analice la solución y luego impleméntela.


Nota: El método equals() devuelve true si las dos listas que se comparan contienen los mismos valores y en el mismo orden y false en otro...
tracking img