Fundamentos de Orientación a Objetos



Descargar 15,4 Kb.
Fecha de conversión30.08.2017
Tamaño15,4 Kb.

Fundamentos de Orientación a Objetos

Referencias

  • Meyer, Bertran., “Construcción de Software Orientado a Objetos”, Prentice Hall, 1997.
  • Booch, Grady.,”Analisis y Diseño orientado a Objetos con aplicaciones”.
  • Fowler, Martin., “UML Distille – Applying the Standard Object Modeling Language”, Addison-Wesley, 1997
  • Budd, Timothy A. An Introduction to Object Oriented Programming (3rd Ed), Addison-Wesley, 2002.
  • Peña, Ricardo.,”Diseño de Programas, formalismo y abstracciones”, Prentice Hall, 1998

Referencias ( cont...)

  • Larman, G., “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design”, prentice-Hall, 1998.
  • Booch, Grady., “El Lenguaje Unificado de Modelado UML”, Addison-Wesley, 1998
  • Aguilar, Joyanes., “Programación Orientada a Objetos”, Mc. Graw Hill
  • Rumbaugh, James., “Modelaje y Diseño Orientado a Objetos”, Prentice Hall, 1990

Agenda

  • Introducción a la Programación Orientada por Objetos
  • Conceptos básicos
  • Abstracción
  • Herencia
  • Relaciones entre clases
  • Polimorfismo

Introducción

  • Símula (1961...)
  • Símula (1967...)
  • SmallTalk (1972-...)
  • C++ (1983...)
  • Eiffel (1985...)
  • Java 1 (1995...)
  • 60-70's
  • 80's
  • 90's
  • Self (1986...)
  • Modula 3 (1986...)
  • ADA(1979-...)
  • Ruby (1991...)
  • C#(2000...)

Introducción

  • Símula (1961...)
  • Símula (1967...)
  • SmallTalk (1972-...)
  • C++ (1983...)
  • Eiffel (1985...)
  • Java 1 (1995...)
  • 60-70's
  • 80's
  • 90's
  • Self (1986...)
  • Modula 3 (1986...)
  • ADA(1979-...)
  • Ruby (1991...)
  • C#(2000...)
  • Booch (1991...)
  • OMT (1991...)
  • Objectory (1992...)
  • OBA,MOSES, FUSION (1994...)
  • RUP (1999...)

Conceptos básicos

  • OO provee objetos como el principal medio para abstraer y estructurar un sistema.
  • Un objeto puede modelar entidades del mundo real, puede capturar abstracciones de fenómenos complejos, puede representar artefactos de software (pilas, gráficos, …).

Conceptos básicos

  • El contexto del problema se ve como objetos que interactúan entre ellos

Conceptos básicos

  • Ejemplo Enviar Flores [4]
    • Suponga que Juan desea llevarle flores a una amiga en otra ciudad María
    • Como Juan no puede llevarlas personalmente, le encarga a su florista preferida (Rosa) el envío
    • María recibe sus flores

Conceptos básicos

  • Ejemplo Enviar Flores [4]
    • Juan le solicita a Rosa un servicio
    • Rosa sabe cómo prestarle el servicio a Juan
    • Juan sabe que Rosa presta el servicio que el necesita
    • Rosa es responsable de prestarle el servicio adecuadamente a Juan
    • Juan desconoce qué le implica a Rosa prestarle el servicio
  • CB4

Conceptos básicos

  • Ejemplo Enviar Flores [4]
  • María
  • Juan
  • Rosa
  • Florista Local
  • Recolector
  • Productor
  • Arreglista
  • Mensajero

Conceptos básicos

  • En programación orientada por objetos un programa es una comunidad de agentes (objetos) que interactuan entre ellos.
  • Cada objeto tiene un rol en la solución del problema
  • Cada objeto provee un conjunto de servicios (o métodos)
  • Los servicios de un objeto son usados por otros objetos.

Conceptos básicos

  • La forma en que los objetos se comunican entre ellos es a través de mensajes:
    • Un mensaje encapsula la petición de un servicio
    • El receptor del mensaje presta el servicio y devuelve una respuesta al que solicitó el servicio

Conceptos básicos

  • Ventana ejemplo
  • Un objeto ventana gráfica
  • La ventana se sabe:
  • cerrar
  • abrir
  • cambiar de tamaño
  • pintar
  • mover
  • Además, sabe: dónde está,
  • si está visible o no ...
  • Cómo se le solicitan los servicios?
  • Qué sabe hacer la ventana?
  • Cuáles servicios ofrece?

Conceptos básicos

  • Ventana ejemplo
  • Las figuras geométricas se saben:
  • Pintar
  • agrandar ..
  • Además, saben: dónde están,
  • si están visibles o no ...
  • Cómo se le solicitan los servicios?
  • Qué saben hacer las figuras geométricas gráficas?
  • Objetos figuras geométricas:
  • un triángulo
  • un rectángulo
  • un círculo

Conceptos básicos

  • Ventana ejemplo
  • La ventana tiene la responsabilidad de solicitar a las figuras geométricas que se pinten
  • Las figuras geométricas tienen la responsabilidad de saberse pintar y de hacerlo cuando se lo soliciten
  • La ventana tiene que saber cómo hacer la solicitud.
  • La figura geométrica tuvo que haber hecho público cómo usar sus servicios

Conceptos básicos

  • La comunicación se hace a través del envío de mensajes

Conceptos básicos

  • Modelar consiste en identificar (abstraer) qué objetos hay en el mundo del problema, cómo son, cómo se comportan y cómo se relacionan.

Conceptos básicos

  • Objeto
    • Es una abstracción de un elemento (concepto) del Contexto del Problema
    • Ejemplos:
      • Estudiante
      • Fecha
      • Automóvil
      • Libro
      • Vuelo

Conceptos básicos

  • El comportamiento de los objetos puede ser descrito por una caracterización abstracta de su interfaz. Por ejemplo:

Conceptos básicos

  • La caracterización del comportamiento es suficiente para diseñar el sistema. El comportamiento real del objeto puede ser implementado y refinado más tarde de acuerdo con las necesidades.

Conceptos básicos

  • Un objeto empaqueta datos (una representación concreta) y procedimientos que operan sobre los datos.

Conceptos básicos

  • Nombre
  • Datos/Atributos/Campos
  • Métodos/Servicios/Interfaz

Conceptos básicos

  • El envío de mensajes es la única forma para que un objeto realice una operación.
  • Las operaciones son la única forma para cambiar el estado de los datos.
  • Cuando esto se cumple, se dice que el estado interno del objeto (el valor de sus datos) está encapsulado; éste no puede ser manipulado directamente desde el exterior y su representación concreta es invisible.

Conceptos básicos

  • Abstracción:
  • Mecanismo de la mente humana fundamental para la comprensión de fenómenos o situaciones que involucren una gran cantidad de detalles.
  • En biología los seres vivos se clasifican en especies, géneros, clases, órdenes, etc...

Conceptos básicos

  • Abstracción ( cont...)
  • Proceso mental que tiene dos aspectos complementarios
    • El aspecto de destacar los detalles relevantes del objeto de estudio
    • El aspecto de ignorar los detalles irrelevantes del objeto.

Conceptos básicos

  • Tipo Abstracto de Datos (TAD)
  • “Un tipo abstracto de datos es una colección de valores y de operaciones que se definen mediante una especificación que es independiente de cualquier representacion”

Conceptos básicos

  • Abstracción y encapsulamiento:
    • La abstracción se centra en el comportamiento observable de un objeto, el encapsulamiento se centra en la implementación que da lugar a ese comportamiento.
  • ”encapsulamiento es el proceso de almacenar en un mismo lugar los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar la interfaz contractual de una abstracción de su implantación." [Booch96]

Conceptos básicos

  • Clase
    • Describe un conjunto de objetos del Contexto del Problema, que tienen las mismas características y el mismo comportamiento

Conceptos básicos

  • La noción de Clase viene de clasificación: agrupar (en un conjunto) objetos (elementos) que se comportan de la misma manera (con respecto a la interfaz que describe el comportamiento).

Conceptos básicos

  • Metáfora

Conceptos básicos

  • Agregación/Composición
    • Permite abstraer relaciones de tipo ...tiene... y ... está compuesto de...

Conceptos básicos

  • Asociaciones
    • Permite abstraer relaciones entre objetos diferentes a la composición

Herencia

  • Los objetos se organizan en jerarquías
  • Vertebrado
  • Mamifero
  • Canino
  • Felino
  • Doméstico
  • Salvaje
  • ...

Herencia

  • Superclase (Tipo)
  • Subclase
  • (Subtipo)
  • Vertebrado
  • Mamifero

Herencia

  • Relación de subtipaje (herencia):
    • si B es subtipo de A entonces cualquier objeto de tipo B puede ser usado en cualquier parte donde un objeto de tipo A puede ser usado.

Herencia

  • Monitor
  • MonitorPregrado
  • EstudiantePregrado
  • Herencia Múltiple:

Herencia

  • ScrollBar
  • Window

Herencia

  • ScrollBar
  • Window

Herencia

  • La regla de oro de la herencia: ..es un... :
  • Cuando tenga:
  • Forme la frase ``A es un B''. Si es correcto, entonces A puede ser subclase de B
  • B
  • A

Polimorfismo

  • Es la posibilidad de definir de forma distinta un método,dependiendo del objeto.
  • MiCuadrado.pintar()
  • MiCirculo.pintar()
  • MiTriangulo.pintar()

Polimorfismo

  • for (int i = 1; arreglo.length(); i++) {
  • arreglo[i].pintar();
  • }

Polimorfismo

  • El polimorfismo es posible gracias a la herencia:
  • Figura
  • Triangulo
  • Pintar()
  • Cuadrado
  • Circulo

Resumen Principios

  • Todo es un objeto
  • Los objetos realizan operaciones (computan) solicitando servicios entre ellos a través del paso de mensajes
  • Todo objeto tiene su propia memoria, la cual consiste de otros objetos
  • Todo objeto es una instancia de una clase. Una clase agrupa objetos similares.
  • En la clase se describe el comportamiento de los objetos.
  • Las clases están organizadas en una jerarquía con una única raíz, llamada la jerarquía de herencia.


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

    Página principal