1 / 50

Metodologías Orientadas a Objetos

Metodologías Orientadas a Objetos. Maestría de Ingeniería Telemática Universidad del Azuay. Historia. 1940 programación diseño y análisis 1957 diseño del misil nuclear Minuteman 1958 LISP John McCarthy Ten Dyke & Kunz: 1967 Lenguaje Simula – Noruega 1970’s Smalltalk, Alan Kay, Xerox PARC

evelia
Download Presentation

Metodologías Orientadas a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

  2. Historia • 1940 programación diseño y análisis • 1957 diseño del misil nuclear Minuteman • 1958 LISP John McCarthy • Ten Dyke & Kunz: • 1967 Lenguaje Simula – Noruega • 1970’s Smalltalk, Alan Kay, Xerox PARC • 1970 LISP, FLAVORS, LOOPS, CLOS • 1976 Alphard • 1977 CLU, LISP. • 1980 UI, WIMP, Xerox, Apple, Windows, Openlook, OSF Motif. • 1986 Actor Systems Ahga • 1989 Eiffel y extensiones de C y Pascal. • 1989 Biggerstaff & Ritcher, Prieto-Diaz & Freeman, Sommerville

  3. Historia • Simulación y lenguajes de 3ra generación • Intercambio de mensajes entre objetos • Máquina de estados finitos • Estructura del programa vs. Estructura del problema. • IA y la noción de actores. • DoD 60’s-70’s soporta financiamiento de proyectos: • CASE, IPSE, Unix, X/Windows, ADA • Bases de Datos orientadas a objetos.

  4. Historia • 1991. Estandarización: OMG Object Management Group, 4GL • CORBA, Common Object Request Broker • Programación, Análisis y Diseño. • Sistemas abiertos.

  5. Historia

  6. Ventajas • Código Reutilizable. • Mejores métodos y notación. • Ciclo más corto de análisis diseño y programación. • Incorpora ideas de IA, modelado de datos, TI, computación.

  7. OOM (Object Oriented Methods) • Programación • Análisis • Diseño • Bases de Datos

  8. Terminología básica • Objetos: atributos y procedimientos • Procedimientos= operaciones y métodos. • Objeto = instancia • Clases, entidades del mundo real.

  9. Terminología Básica • Encapsulamiento: • Estructuras de Datos y detalles de los objetos están ocultos. • Se accede a los objetos a través de mensajes que son procesados por los métodos. • Encapsulamiento = abstracción.

  10. Terminología Básica • Mensajes: intercambio entre objetos • Se evita duplicación de datos. • El mensaje causa que los métodos de otro objeto se ejecuten. • ~ llamadas a funciones.

  11. Terminología Básica • Herencia: los objetos pueden heredar características de sus clases y también de superclases más generales. • Estructura conceptual del mundo • Adicionar excepciones

  12. Terminología Básica • Polimorfismo: la misma expresión denota diferentes operaciones. • Vinculación dinámica. • Ejemplo: sobrecarga de operadores (+).

  13. Abstracción y Encapsulamiento • Abstracción: representación de las características esenciales sin incluir todos los detalles accesorios. • Atributos abstractos: variables de instancia y de clase. • Ejemplo: tamaño, posición color de un objeto. • Métodos, operaciones o servicios: procedimientos para cambiar atributos o estados del objeto. • (Máquina de estados finitos.) • Operación: que mensajes puede procesar el objeto.

  14. Abstracción y Encapsulamiento

  15. Abstracción y Encapsulamiento

  16. Abstracción y Encapsulamiento • Encapsula: datos y procesos. • Datos: atributos • Variables e instancia. • Variable de clase. • Procesos: Métodos, operaciones o servicios: • Procedimientos. • Funciones.

  17. Abstracción y Encapsulamiento • Clase: colección de objetos con atributos y métodos comunes, de acuerdo a sus características y responsabilidades. • Tipo abstracto de Datos: tipo de entidades de modelado de datos que incluyen métodos para el tratamiento de los datos. • Clase <> Tipo.

  18. Abstracción y Encapsulamiento • Vinculación Dinámica: asociación de un objeto a una clase en tiempo de ejecución. Permite el polimorfismo. • Vinculación estática: provista por el compilador.

  19. Abstracción y Encapsulamiento • Objeto: una clase, tipo abstracto de dato, o instancia de un tipo (de objeto). • Instancia ~ registro en una base de datos. • Clases abstractas: no pueden tener instancias sus hijos son otras clases. • Aspectos internos: estados, implementación e instanciación. • Aspectos externos: nombres de sus métodos y tipos de parámetros.

  20. Abstracción y Encapsulamiento • Encapsulamiento: ocultamiento de información. • Estructura interna escondida y protegida respecto de otros objetos. • Implementación: privada o pública. • Los datos se acceden solamente a través de mensajes. • Un mensaje es procesado por un método y puede contener cero o más parámetros.

  21. Abstracción y Encapsulamiento • Protocolo del objeto: conjunto de mensajes que puede responder. • Selector: el nombre del mensaje. • En compiladores de tipos fuertes los objetos no pueden recibir mensajes ilegales. • Vinculación dimámica: c/objeto se responsabiliza de protegerse de los mensajes que recibe.

  22. Abstracción y Encapsulamiento • Polimorfismo y sobrecarga de operadores: • Habilidad de usar el mismo símbolo para diferentes propósito cuando el contexto es claro. • Habilidad de tomar diferentes formas en tiempo de ejecución. • Ejemplo: abrir (ventana o fichero).

  23. Abstracción y Encapsulamiento • Polimorfismo: • ad hoc. • Universal. El mismo símbolo para operaciones no relacionadas semánticamente, coerción: para operar con mezclas de tipos. Universal: paramétrico e inclusión: capacidad de sustituir argumentos de un rango de tipos en la llamada a una función.

  24. Abstracción y Encapsulamiento • Genericidad: habilidad de definir módulos parametrizados. • Ejemplo: una lista de nombres, lista de enteros, lista de empleados. • Ada. MODULA-2, Algol. • Ejemplo: red neuronal multicapa.

  25. Herencia • Elimina la redundancia de almacenar el mismo dato o procedimiento varias veces. • La herencia se relaciona mediante clasificación jerárquica. • IA: redes semánticas. • Clasificación, generalización, tipo, composición, agregación o parte de. • Pertenencia, similitud, autoría.

  26. Herencia • Redes de herencia: es un, del tipo de.

  27. Herencia • Herencia única o simple • Herencia múltiple. • Ejemplo: diferencia entre clases y superclases e instancias de objetos. • La herencia permite reutilización pero también hace más compleja la descripción de los objetos y adiciona estructuras de herencia.

  28. Terminología adicional • Actores: delegación ~ herencia sin pertenencia a una clase. Un objeto delega a otro o le da permiso para ejecutar ciertas tareas. • Auto recursividad o auto referencia: capacidad de enviar mensajes a sus propios métodos. • Programación basada en objetos: encapsulamiento e identidad de objetos.

  29. Terminología adicional • Lenguajes basados en objetos: abstracción de conjuntos instancia/clase. Las clases se relacionan con la herencia. • Sistemas orientados a objetos: heredan de la programación basada en objetos y de los sistemas basados en clases. (polimorfismo y herencia).

  30. Relación entre términos

  31. ¿Preguntas? • Ejemplos de objetos degenerados. • Representación de Objeto, Atributos y Métodos. • Representación de paso de mensajes. • Importancia del encapsulamiento. • Clases y Herencia. • Instanciación de un objeto.

  32. Gracias por su atención.

More Related