Professional Documents
Culture Documents
Para que esto sea posible, la implementacin deber realizarse en un mbito de declaracin inaccesible al resto de los programas
Usuario
Especificacin
Implementador
Representacin elegida
Especificaciones informales:
Predomina el lenguaje natural Poco precisas y breves p ambigedad Sencillas de escribir, leer y entender
Especificaciones formales:
Lenguaje algebraico p verificacin formal de programas alg Precisas y breves Pueden resultar ms complejas de escribir, leer y entender
Puesto que las especificaciones son independientes de las implementaciones, existen requerimientos de uso (informacin adicional de cara al usuario)
Tipo: Tipo: Nombre del TDA Sintasis: Sintasis: Forma de las operaciones
nombre de la funcin (tipo de los argumentos) p tipo del resultado
Otra ampliacin de la notacin es permitir la definicin de TDA's genricos, que se expresan en base a otro u otros tipos sin especificar exactamente cules son. son.
Principales tcnicas de implementacin de TDAs Realizacin de dichas tcnicas mediante un lenguaje orientado a objetos, en concreto Java.
Diseado desde el principio como un lenguaje orientado a objetos. Integracin en el mbito de las telecomunicaciones, en concreto, internet. Lenguaje de gran actualidad e inters.
Objeto instanciado
Vehiculo
Motocicleta
Coche
Motocicleta
Coche
Compacto
Monovolumen
Constructores sobrecargados
Coche miCoche = new Coche(5); Coche miCoche = new Coche();
requiera el programa. Clasificar dichas propiedades y mtodos dentro de clases. Examinar las clases para ver las posibles relaciones de herencia. Establecer los mtodos necesarios para realizar la interface entre las diversas clases. Comprobar que dentro de la estructura de clases todo encaja. Realizar un buen diseo supone: Ahorro e tiempo y esfuerzo en la fase de programar Cdigo resultante de mayor calidad: ms fcil de depurar y mantener
El uso de objetos abstrae al programador del manejo directo de apuntadores y ofrece mecanismos para conseguir privacidad y proteccin.
y y y y
Interface Valuable
public interface Valuable { public int valor(); } // fin interface Valuable
Java posee un mecanismo propio para el manejo de errores mediante excepciones Cuando va a producirse una situacin de error, sta se traduce una excepcin. Por ejemplo, para la segunda definicin de la clase Estructura vista en la seccin anterior, el acceso a los datos del array debe hacerse mediante mtodos de interface, y dentro de estos mtodos, el acceso a una posicion no correcta puede traducirse en una excepcin
public class Estructura { private Object dato[]; private int longitud; public Estructura(int n) throws LongitudNoValidaException { if (n<0) throw new LongitudNoValidaException("Longitud no vlida. Debe ser positiva"); longitud = n; dato = new Object[n]; }
public class DenominadorCeroException extends RuntimeException { public DenominadorCeroException() { super(); }; public DenominadorCeroException(String s) { super(s); }; }
public class Bolsa { class Celda { Object dato; Celda siguiente; } private Celda inicio; public Bolsa() { inicio = null; } public void poner(Object elemento) { Celda aux = new Celda(); aux.dato = elemento; aux.siguiente = inicio; inicio = aux; }
public boolean esVacia() { return (inicio==null); } public int cuantos(Object elemento) { Celda aux = inicio; int cont = 0; while (aux!=null) { if (elemento.equals(aux.dato)) cont++; aux = aux.siguiente; } return cont; } } // fin class Bolsa