0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Colección.

Slides:



Advertisements
Presentaciones similares
Estructuras de datos y algoritmos
Advertisements

Defina una clase TempMinEstacion que encapsule la representación de las temperaturas mínimas registradas en una estación meteorológica en un período y.
Tipos de Datos Abstractos Vector de Racionales
El proceso de desarrollo de software
Reusabilidad La productividad está basada en reusabilidad y extensibilidad El reusabilidad permite desarrollar nuevas aplicaciones a partir de componentes.
El proceso de desarrollo de software
Árboles binarios. Algoritmos básicos
Tema 4 Árboles. Árbol sobre matriz.
Aplicación del paradigma orientado a objetos
Encapsulamiento y Abstracción
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
El concepto de clase Con frecuencia un término puede definirse de diferentes maneras según el enfoque. Desde el punto de vista del análisis y el diseño.
Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes.
Genericidad Los datos de aplicaciones muy diferentes puede modelarse con frecuencia a partir de tipos de datos cuyas operaciones no dependen del tipo de.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje
ÁRBOLES BINARIOS DE BÚSQUEDA
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Clases.
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Estructuras.
Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional)
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Genericidad.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tabla.
Aun en problemas muy simples surge la necesidad de agrupar valores elementales de alguna manera. Cuando representamos una caja de ahorro bancaria definimos.
Introducción a la Programación Orientada a Objetos Una clase que modela los atributos y el comportamiento de una colección de objetos, define un tipo de.
Entrada y Salida ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble (); System.out.print System.out.println.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Polimorfismo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Clases.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Polimorfismo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Abstracción.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
Introducción a la Programación Orientada a Objetos Arreglos de 2 dimensiones TDA Matriz Implementar un TDA Matriz que brinde operaciones para calcular.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
Diferencia entre implementar en RPA e IPOO - Diseño En.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Asociación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Dependencia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
IPOO 2 cuatrimestre 2016 Departamento de Ciencias e Ingeniería
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Colección ordenada generica Dr. Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca 2015

COLECCIÓN ORDENADA GENERICA ColeccionOrdenada TipoElemento [] T cantElementos: entero > ColeccionOrdenada(max: entero) > insertar(unElem: TipoElemento) eliminar(unElem: TipoElemento) > cantElementos(): entero hayElementos(): boolean estaLlena(): boolean existeElemento(unElem: TipoElemento) : boolean

COLECCIÓN ORDENADA GENERICA class ColeccionOrdenada{ protected TipoElemento[] T; protected int cantElementos; //Constructor public ColeccionOrdenada(int max){ T = new TipoElemento [max]; cantElementos = 0; } … } Introducción a la Programación Orientada a Objetos IPOO

COLECCIÓN ORDENADA GENERICA //Comandos public void insertar(TipoElemento elem) { /*Inserta un elemento ordenadamente. Asume que la colección no está llena y que el elemento no existe*/ int i = 0; boolean mayor = false; while (i < cantElementos() && !mayor){ if (T[i].mayor(elem)) mayor = true; else i++; } if (mayor) arrastrarFinal(i); T[i] = elem; cantElementos ++; } 4

COLECCIÓN ORDENADA GENERICA //Comandos public void eliminar(TipoElemento elem){ //… int i = 0; boolean salir = false; while (i < cantElementos() && !salir){ if (T[i].mayor(elem)||T[i].equals(elem)) salir = true; else i++; } if (salir && T[i].equals(elem)) { arrastrarPpio(i); cantElementos --;} } 5 Observar que la expresión no es conmutativa.

COLECCIÓN ORDENADA GENERICA ColeccionOrdenada *TipoElemento *equals(e:TipoElemento) *mayor(e:TipoElemento) abstract class TipoElemento{ abstract public boolean equals(TipoElemento e); abstract public boolean mayor(TipoElemento e); }

GENERICIDAD La clase ColeccionOrdenada es una clase genérica que brinda servicios para actualizar y recorrer una estructura de elementos homogéneos ordenados. Usamos un arreglo para representar internamente la estructura. La clase ColeccionOrdenada puede extenderse con clases especializadas que brinden servicios más específicos. Las operaciones generales pueden implementarse de manera independiente del tipo de las componentes, solo se requiere que tengan un atributo clave. Las operaciones específicas dependen del tipo de las componentes. Como el arreglo está encapsulado en ColeccionOrdenada las clases especializadas acceden a través de las operaciones. Introducción a la Programación Orientada a Objetos IPOO

COLECCIÓN ORDENADA GENERICA //Consultas public boolean existeElemento(TipoElemento elem){ int i = 0; boolean esta = false; while (i < cantElementos() && elem.mayor(T[i]) && !esta){ esta = elem.equals(T[i]); i++; } return esta ; } 8 La búsqueda se interrumpe cuando se encuentra o cuando ya se sabe que no se va a encontrar.

ColeccionOrdenada Insertar(e: TipoElemento) *TipoElemento *equals(e:TipoElemento) *mayor(e:TipoElemento) CorreoColCiudades Mensaje equals(e:TipoElemento) mayor(e:TipoElemento) Ciudad equals(e:TipoElemento) mayor(e:TipoElemento)

COLECCIÓN ORDENADA GENERICA Mesaje > … > … > equals(TipoElemento m): boolean mayor(TipoElemento m): boolean En los objetos de clase Correo solo se van a insertar objetos de clase Mensaje.

COLECCIÓN ORDENADA GENERICA Ciudad > … > … > equals(TipoElemento m): boolean mayor(TipoElemento m): boolean En los objetos de clase ColCiudades solo se van a insertar objetos de clase Ciudad.