Академический Документы
Профессиональный Документы
Культура Документы
Historia
1940 programacin diseo y anlisis 1957 diseo del misil nuclear Minuteman 1958 LISP John McCarthy Ten Dyke & Kunz: 1967 Lenguaje Simula Noruega 1970s 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
Historia
Simulacin y lenguajes de 3ra generacin Intercambio de mensajes entre objetos Mquina de estados finitos Estructura del programa vs. Estructura del problema. IA y la nocin de actores. DoD 60s-70s soporta financiamiento de proyectos: CASE, IPSE, Unix, X/Windows, ADA Bases de Datos orientadas a objetos.
Historia
1991. Estandarizacin: OMG Object Management Group, 4GL CORBA, Common Object Request Broker Programacin, Anlisis y Diseo. Sistemas abiertos.
Historia
Fase 1 - 1970's Fase 2 -1980's Fase 3 -1990's La Era de madurez Enfoque en anlisis y diseo
La Era de la Invencin
Simulacin de eventos discretos
La Era de la Confusin
Interfaces WIMP
Simula
Kay: FLEX machine
Xerox y Apple
extensiones de LISP
Sistemas abiertos
Aplicaciones Bases de datos orientadas a objetos Estndares.
Ventajas
Cdigo Reutilizable. Mejores mtodos y notacin. Ciclo ms corto de anlisis diseo y programacin. Incorpora ideas de IA, modelado de datos, TI, computacin.
Terminologa bsica
Objetos: atributos y procedimientos Procedimientos= operaciones y mtodos. Objeto = instancia Clases, entidades del mundo real.
Terminologa Bsica
Encapsulamiento: Estructuras de Datos y detalles de los objetos estn ocultos. Se accede a los objetos a travs de mensajes que son procesados por los mtodos. Encapsulamiento = abstraccin.
Terminologa Bsica
Mensajes: intercambio entre objetos Se evita duplicacin de datos. El mensaje causa que los mtodos de otro objeto se ejecuten. ~ llamadas a funciones.
Terminologa Bsica
Herencia: los objetos pueden heredar caractersticas de sus clases y tambin de superclases ms generales. Estructura conceptual del mundo Adicionar excepciones
Terminologa Bsica
Polimorfismo: la misma expresin denota diferentes operaciones. Vinculacin dinmica. Ejemplo: sobrecarga de operadores (+).
Abstraccin y Encapsulamiento
Abstraccin: representacin de las caractersticas esenciales sin incluir todos los detalles accesorios. Atributos abstractos: variables de instancia y de clase. Ejemplo: tamao, posicin color de un objeto. Mtodos, operaciones o servicios: procedimientos para cambiar atributos o estados del objeto. (Mquina de estados finitos.) Operacin: que mensajes puede procesar el objeto.
Abstraccin y Encapsulamiento
Abstraccin y Encapsulamiento
Abstraccin y Encapsulamiento
Procedimientos. Funciones.
Abstraccin y Encapsulamiento
Clase: coleccin de objetos con atributos y mtodos comunes, de acuerdo a sus caractersticas y responsabilidades. Tipo abstracto de Datos: tipo de entidades de modelado de datos que incluyen mtodos para el tratamiento de los datos. Clase <> Tipo.
Abstraccin y Encapsulamiento
Vinculacin Dinmica: asociacin de un objeto a una clase en tiempo de ejecucin. Permite el polimorfismo. Vinculacin esttica: provista por el compilador.
Abstraccin 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, implementacin e instanciacin. Aspectos externos: nombres de sus mtodos y tipos de parmetros.
Abstraccin y Encapsulamiento
Encapsulamiento: ocultamiento de informacin. Estructura interna escondida y protegida respecto de otros objetos. Implementacin: privada o pblica. Los datos se acceden solamente a travs de mensajes. Un mensaje es procesado por un mtodo y puede contener cero o ms parmetros.
Abstraccin 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. Vinculacin dimmica: c/objeto se responsabiliza de protegerse de los mensajes que recibe.
Abstraccin y Encapsulamiento
Polimorfismo y sobrecarga de operadores: Habilidad de usar el mismo smbolo para diferentes propsito cuando el contexto es claro. Habilidad de tomar diferentes formas en tiempo de ejecucin. Ejemplo: abrir (ventana o fichero).
Abstraccin y Encapsulamiento
Polimorfismo:
ad hoc. Universal.
El mismo smbolo para operaciones no relacionadas semnticamente, coercin: para operar con mezclas de tipos. Universal: paramtrico e inclusin: capacidad de sustituir argumentos de un rango de tipos en la llamada a una funcin.
Abstraccin y Encapsulamiento
Ejemplo: una lista de nombres, lista de enteros, lista de empleados. Ada. MODULA-2, Algol. Ejemplo: red neuronal multicapa.
Herencia
Elimina la redundancia de almacenar el mismo dato o procedimiento varias veces. La herencia se relaciona mediante clasificacin jerrquica. IA: redes semnticas. Clasificacin, generalizacin, tipo, composicin, agregacin o parte de. Pertenencia, similitud, autora.
Herencia
Herencia
Herencia nica o simple Herencia mltiple. Ejemplo: diferencia entre clases y superclases e instancias de objetos. La herencia permite reutilizacin pero tambin hace ms compleja la descripcin de los objetos y adiciona estructuras de herencia.
Terminologa adicional
Actores: delegacin ~ 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 mtodos. Programacin basada en objetos: encapsulamiento e identidad de objetos.
Terminologa adicional
Lenguajes basados en objetos: abstraccin de conjuntos instancia/clase. Las clases se relacionan con la herencia. Sistemas orientados a objetos: heredan de la programacin basada en objetos y de los sistemas basados en clases. (polimorfismo y herencia).
basado en clases =
orientado a objetos =
Preguntas?
Ejemplos de objetos degenerados. Representacin de Objeto, Atributos y Mtodos. Representacin de paso de mensajes. Importancia del encapsulamiento. Clases y Herencia. Instanciacin de un objeto.
Fin de la presentacin