Tema 2 Tipos abstractos de datos. 2.4 Construcción de un TAD a partir de otro. Construcción de un TAD a partir de otro (I). Se puede construir un TAD a partir de otro. Ejemplo: TAD Vector de enteros (TadVector). Construido a partir de TAD Pila de enteros (TadPila). El usuario imagina y trabaja con algo que se comporta como un vector sin conocer su construcción interna (ocultamiento). Construcción de un TAD a partir de otro (II). Métodos de objeto: crearVector (). Crea e inicializa el vector sobre el que opera. Establece su tamaño (tamano). leerVector (pos). Devuelve el valor del elemento del vector cuya posición (pos) se pasa como argumento. escribirVector (pos, cont). Modifica el dato que ocupa la posición (pos) con el contenido (cont) que se pasan como argumentos. tamaño (). Devuelve el tamaño del vector. Interfaz del nuevo TAD import java.io.*; public interface Vector { void crearVector () throws NumberFormatException, IOException; int leerVector (int posicion); void escribirVector (int posicion, int contenido) ; int tamaño (); } Construcción del TAD public class TadVector implements Vector { Pila vector; public int tamanio; public void CrearVector () throws NumberFormatException, IOException { int i; BufferedReader linea = new BufferedReader (new InputStreamReader(System.in)); Pila auxv = new TadPila (); auxv.inicializarPila(); System.out.println ("Numero de elementos: "); tamano = Integer.parseInt(linea_entrada.readLine()); for (i = 1; i <= tamanio; i++) auxv.apilar (0); vector = auxv; } ………………………………...... public int tamaño () { return tamanio; } } Utilización del nuevo TAD import java.io.IOException; public class pruebaTadVector { public static void main(String[] args) throws NumberFormatException, IOException { Vector v = new TadVector (); int d,i; v.crearVector (); v.escribirVector (5, 77); v.escribirVector (3, 87); v.escribirVector (8, 97); for (i = 1; I <= v.tamaño (); i++) { d = v.leerVector (i); System.out.println ("El dato de la posicion "+i+" es: "+d); } } }