DCE Estrella 0 PowerPoint PPT Presentation

presentation player overlay
1 / 30
About This Presentation
Transcript and Presenter's Notes

Title: DCE Estrella 0


1
Programaci贸n III
Introducci贸n a la Orientaci贸n a Objetos
2
Objetivo
  • Describir el Paradigma de Orientaci贸n a Objetos
    incluyendo los conceptos relacionados al
    an谩lisis, dise帽o y programaci贸n

3
Temas a Tratar
  • Paradigmas de Programaci贸n
  • Clases y Objetos
  • Modificadores de Acceso
  • Qu茅 es UML?
  • Principios de la Orientaci贸n a Objetos
  • Conceptos del Dise帽o Orientado a Objetos

4
Paradigmas de Programaci贸n
  • Funcionales (CAML)
  • Estructurados (C, Pascal, Basic, etc.)
  • Declarativos (Prolog)
  • Orientados a Objetos (C, VB.NET, Smalltalk,
    Java)
  • Orientados a Aspectos
  • H铆bridos (Lisp, Visual Basic)
  • Incomprensibles....
  • Cada enfoque tiene sus ventajas y desventajas
  • Cada uno es m谩s apropiado para ciertas cosas

5
El mundo color de Objetos
  • Todo el mundo est谩 compuesto de entidades que se
    relacionan e interact煤an entre si
  • Qu茅 es un Objeto?
  • Todo es un Objeto ?!
  • Es lo mismo de siempre con otro nombre?
  • Pensar en Objetos .

6
El mundo color de Objetos
  • Por qu茅 Orientaci贸n a Objetos (OO)?
  • Se parece m谩s al mundo real
  • Permite representar modelos complejos
  • Muy apropiada para aplicaciones de negocios
  • Las empresas ahora s铆 aceptan la OO
  • Las nuevas plataformas de desarrollo la han
    adoptado (Java / .NET)

7
Qu茅 es un Objeto?
  • Informalmente, un objeto representa una entidad
    del mundo real
  • Entidades F铆sicas
  • (Ej. Veh铆culo, Casa, Producto)
  • Entidades Conceptuales
  • (Ej. Proceso Qu铆mico, Transacci贸n Bancaria)
  • Entidades de Software
  • (Ej. Lista Enlazada, Interfaz Gr谩fica)

8
Qu茅 es un Objeto?
  • Definici贸n Formal (Rumbaugh)
  • Un objeto es un concepto, abstracci贸n o cosa con
    un significado y l铆mites claros en el problema en
    cuesti贸n
  • Un objeto posee (Booch)
  • Estado
  • Comportamiento
  • Identidad

9
Un objeto posee Estado
  • Lo que el objeto sabe
  • El estado de un objeto es una de las posibles
    condiciones en que el objeto puede existir
  • El estado normalmente cambia en el transcurso del
    tiempo
  • El estado de un objeto es implementado por un
    conjunto de propiedades (atributos), adem谩s de
    las conexiones que puede tener con otros objetos

10
Un objeto posee Comportamiento
  • Lo que el objeto puede hacer
  • El comportamiento de un objeto determina c贸mo
    茅ste act煤a y reacciona frente a las peticiones de
    otros objetos
  • Es modelado por un conjunto de mensajes a los que
    el objeto puede responder (operaciones que puede
    realizar)
  • Se implementa mediante m茅todos

11
Un objeto posee Identidad
  • Cada objeto tiene una identidad 煤nica, incluso si
    su estado es id茅ntico al de otro objeto

12
Qu茅 es una Clase?
  • Una clase es una descripci贸n de un grupo de
    objetos con
  • Propiedades en com煤n (atributos)
  • Comportamiento similar (operaciones)
  • La misma forma de relacionarse con otros objetos
    (relaciones)
  • Una sem谩ntica en com煤n (significan lo mismo)
  • Una clase es una abstracci贸n que
  • Enfatiza las caracter铆sticas relevantes
  • Suprime otras caracter铆sticas (simplificaci贸n)
  • Un objeto es una instancia de una clase

13
Objetos y Clases
  • Una clase es una definici贸n abstracta de un
    objeto
  • Define la estructura y el comportamiento
    compartidos por los objetos
  • Sirve como modelo para la creaci贸n de objetos
  • Los objetos pueden ser agrupados en clases

14
Ejemplo de una Clase
  • Clase Curso
  • Estado (Atributos)
  • Nombre
  • Ubicaci贸n
  • D铆as Ofrecidos
  • Horario de Inicio
  • Horario de T茅rmino
  • Comportamiento (M茅todos)
  • Agregar un Alumno
  • Borrar un Alumno
  • Entregar un Listado del Curso
  • Determinar si est谩 Completo

15
Modificadores de Acceso
  • Permiten definir el nivel de acceso (visibilidad)
    de los miembros (atributos o m茅todos) de una
    clase
  • Publico Cualquier clase puede ver los miembros
    p煤blicos de otra clase
  • Privado S贸lo la clase puede ver sus propios
    miembros privados
  • Existen otros dos modificadores para prop贸sitos
    espec铆ficos (Paquete, Protegido)

16
Qu茅 es UML?
  • UML es un lenguaje visual para especificar,
    construir y documentar sistemas (OMG - Object
    Management Group)
  • Unified (UNIFICADO)
  • El aporte de muchos m茅todos y notaciones
  • Independiente de implementaciones, plataformas y
    lenguajes
  • Modeling (MODELADO)
  • Los modelos son utilizados en todas las
    ingenier铆as
  • Language (LENGUAJE)
  • Si hay gente, requieren comunicarse. Si se tienen
    que comunicar, se tienen que entender. Para
    entenderse necesitan un lenguaje com煤n
  • UML no es Metodolog铆a!

17
Una Clase en UML
  • Una clase est谩 compuesta de tres secciones
  • La primera secci贸n contiene el nombre de la clase
  • La segunda secci贸n muestra la estructura
    (atributos)
  • La tercera secci贸n muestra el comportamiento
    (operaciones)
  • La segunda y la tercera secci贸n pueden
  • ser suprimidas
  • Modificadores de Acceso
  • Los miembros p煤blicos se denotan
  • con el signo
  • Los miembros privados se denotan con el signo

18
Pilares de la Orientaci贸n a Objetos
19
Abstracci贸n
  • Ignorancia Selectiva
  • La abstracci贸n nos ayuda a trabajar con cosas
    complejas
  • Se enfoca en lo importante
  • Ignora lo que no es importante (simplifica)
  • Una clase es una abstracci贸n en la que
  • Se enfatizan las caracter铆sticas relevantes
  • Se suprimen otras caracter铆sticas
  • Una clase debe capturar una y solo una
    abstracci贸n clave

20
Encapsulamiento
  • Principio que establece que los atributos propios
    de un objeto no deben ser visibles desde otros
    objetos. Deben ser declarados como privados
  • Permite abstraer al resto del mundo de la
    complejidad de la implementaci贸n interna
  • Permite exponer el estado del objeto s贸lo a
    trav茅s del comportamiento que le hayamos definido
    mediante miembros p煤blicos
  • Por qu茅 es 煤til?
  • Punto de Control/Validaci贸n
  • Mejor respuesta ante los Cambios

21
Relaciones
  • Todo sistema abarca muchas clases y objetos
  • Los objetos contribuyen en el comportamiento de
    un sistema colaborando entre si
  • La colaboraci贸n se logra a trav茅s de las
    relaciones
  • Existen dos tipos principales de relaciones
  • Asociaci贸n
  • Agregaci贸n

22
Relaciones de Asociaci贸n
  • Una asociaci贸n es una conexi贸n entre dos clases
    que representa una comunicaci贸n
  • Una asociaci贸n puede tener nombre
  • La comunicaci贸n puede ser tanto uni como
    bi-direccional (por defecto)
  • La multiplicidad es el n煤mero de instancias que
    participan en una asociaci贸n
  • Ejemplo
  • Una Persona es Due帽a de un Veh铆culo
  • Un Veh铆culo Pertenece a una Persona

23
Relaciones de Agregaci贸n
  • La agregaci贸n es una forma especial de asociaci贸n
    donde un todo se relaciona con sus partes
  • Tambi茅n se conoce como una parte de o una
    relaci贸n de contenci贸n
  • Ejemplo
  • Una Puerta es una parte de un Veh铆culo
  • El Veh铆culo es azul, la Puerta es Azul
  • Mover el Veh铆culo implica mover la Puerta

24
Herencia
Clase Base
  • Es una relaci贸n entre clases en la cual una clase
    comparte la estructura y comportamiento definido
    en otra clase (Grady Booch)
  • Cada clase que hereda de otra posee
  • Los atributos de la clase base adem谩s de los
    propios
  • Soporta todos o algunos de los m茅todos de la
    clase base
  • Una subclase hereda de una clase base

Clases Derivadas o subclases
25
Herencia
  • Herencia Es-Un herencia real, donde la
    subclase es un tipo espec铆fico de la superclase
  • Un Cuadrado es un Rect谩ngulo
  • Un perro es un mam铆fero
  • Un autom贸vil es un veh铆culo a motor

26
Interfaces
  • Recurso de dise帽o soportado por los lenguajes
    orientados a objetos que permite definir
    comportamiento
  • Permite que clases que no est谩n estrechamente
    relacionadas entre s铆 deban tener el mismo
    comportamiento
  • La implementaci贸n de una interfaz es un contrato
    que obliga a la clase a implementar todos los
    m茅todos definidos en la interfaz

27
Interfaces
  • De que clase heredar铆a la clase Hidroavi贸n ?

28
Interfaces
  • Se crean las interfaces que definen
    comportamiento
  • Hidroavi贸n deber谩 definir los comportamientos de
    cada una de las interfaces que implemente

29
Polimorfismo
  • Es la propiedad que tienen los objetos de
    permitir invocar gen茅ricamente un comportamiento
    (m茅todo) cuya implementaci贸n ser谩 delegada al
    objeto correspondiente reci茅n en tiempo de
    ejecuci贸n
  • El polimorfismo tiende a existir en las
    relaciones de herencia, pero no siempre es as铆

30
Polimorfismo - Ejemplo
  • La definici贸n del m茅todo reside en la clase base
  • La implementaci贸n del m茅todo reside en la clase
    derivada
  • La invocaci贸n es resuelta al momento de ejecuci贸n
Write a Comment
User Comments (0)
About PowerShow.com