Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tdas
Tdas
Tdas
Especificaciones informales:
Predomina el lenguaje natural
Poco precisas y breves ambigedad
Sencillas de escribir, leer y entender
Especificaciones formales:
Lenguaje algebraico verificacin formal de programas
Precisas y breves
Pueden resultar ms complejas de escribir, leer y entender
1.3.1 Especificaciones informales
Caractersticas de la OO:
Herencia
Polimorfismo
Objetivos conseguidos:
Estructuracin
Encapsulacin
1.4 Programacin Orientada a
Objetos
Conceptos de la OO:
Clase
Objeto
Propiedad
Mtodo
Herencia
Polimorfismo
1.4 Programacin Orientada a
Objetos
Estudiaremos:
Principales tcnicas de implementacin
de TDAs
Realizacin de dichas tcnicas
mediante un lenguaje orientado a
objetos, en concreto Java.
1.4 Programacin Orientada a
Objetos
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.
1.4.1 Clases y Objetos
Declaracin de un Objeto:
<nombre_de_la_clase> <nombre_del_objeto>
Ejemplo:
Class Vehiculo{ }
Vehiculo miVehiculo;
miVechiculo = new Vehiculo();
Vehiculo
Motocicleta Coche
1.4.3 Herencia y Polimorfismo
Herencia multinivel
Vehiculo
Motocicleta Coche
Compacto Monovolumen
1.4.3 Herencia y Polimorfismo
Conceptos de Polimorfismo:
Variables dinmicas:
Variables cuyo espacio de almacenamiento requerido se
asigna en tiempo de ejecucin
Se accede a ellas por medio de apuntadores
Podemos crear variables dinmicas asignndoles
memoria
Podemos destruir variables dinmicas liberando memoria
Se alojan en el segmento montn (heap)
1.4.5.1 Implementaciones stticas y
dinmicas
Estructura estructura;
estructura = new Estructura();
estructura.dato[i]=x;
y=estructura.dato[i];
1.4.5.2 Representaciones contiguas y
enlazadas
Para la situacin (2), Java permite la siguiente forma de
representacin contigua:
Estructura estructura;
estructura = new Estructura(10);
1.4.5.2 Representaciones contiguas y
enlazadas
Para la situacin (3) disponemos de varias alternativas. Si sabemos en
tiempo de compilacin el nmero aproximado de elementos, se puede
establecer una cantidad mxima maxLongitud de elementos que
podrn contener los casos del TDA
elemento1 = (Elemento)elemento2.clone();
1.4.6.3 Comparacin de objetos
import java.io.*;
public class Util {
static public int leeEntero() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i = Integer.valueOf(br.readLine().trim()).intValue();
return i;
}
static public double leeDoble() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
double d = Double.valueOf(br.readLine().trim()).doubleValue();
return d;
}
static public String leeString() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
return s;
}
}
1.4.6.3 Comparacin de objetos
Interface Comparable
public interface Comparable {
public boolean mayorQue(Object elemento);
public boolean mayorIgualQue(Object elemento);
public boolean menorQue(Object elemento);
public boolean menorIgualQue(Object elemento);
} // fin interface Comparable
Interface Valuable
public interface Valuable {
public int valor();
} // fin interface Valuable
1.4.6.3 Comparacin de objetos