Metodologías Orientadas a Objetos



Descargar 12,98 Kb.
Fecha de conversión10.01.2017
Tamaño12,98 Kb.

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
  • 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

  • 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.

Historia

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

Historia

  • Fase 1 - 1970's
  • Fase 2 -1980's
  • Fase 3 -1990's
  • La Era de la Invención
  • La Era de la Confusión
  • Simulación de eventos discretos
  • Interfaces WIMP
  • Enfoque en análisis y diseño
  • Simula
  • Xerox y Apple
  • Kay: FLEX machine
  • extensiones de LISP
  • Aplicaciones
  • PARC: Dynabook
  • entornos de IA
  • Smalltalk
  • Nuevos lenguajes: Eiffel, C++, …
  • Estándares.

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.

OOM (Object Oriented Methods)

  • Programación
  • Análisis
  • Diseño
  • Bases de Datos

Terminología básica

  • Objetos: atributos y procedimientos
  • Procedimientos= operaciones y métodos.
  • Objeto = instancia
  • Clases, entidades del mundo real.

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.

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.

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

Terminología Básica

  • Polimorfismo: la misma expresión denota diferentes operaciones.
  • Vinculación dinámica.
  • Ejemplo: sobrecarga de operadores (+).

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.

Abstracción y Encapsulamiento

Abstracción y Encapsulamiento

Abstracción y Encapsulamiento

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

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.

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.

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.

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.

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.

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).

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.

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.

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.

Herencia

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

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.

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.

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).

Relación entre términos

  • basado en objetos =
  • encapsulamiento +
  • basado en clases =
  • basado en objetos +
  • abstracción de conjuntos
  • orientado a objetos =
  • basado en clases +
  • herencia y auto recursividad

¿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.

Gracias por su atención.



La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal