Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DCE0 IntroduccionOrientacionAObjetos
DCE0 IntroduccionOrientacionAObjetos
Objetivo
Describir el Paradigma de Orientacin a Objetos incluyendo los conceptos relacionados al anlisis, diseo y programacin
Prerrequisitos
Poseer los conocimientos proporcionados en los siguientes mdulos de la Estrella 0:
Fundamentos de Programacin
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Principios de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Paradigmas de Programacin
Hay para todos los gustos
Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Hbridos (Lisp, Visual Basic) Incomprensibles....
Cada enfoque tiene sus ventajas y desventajas Cada uno es ms apropiado para ciertas cosas
Pensar en Objetos .
Se parece ms 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)
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Principios de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Qu es un Objeto?
Informalmente, un objeto representa una entidad del mundo real Entidades Fsicas
Entidades Conceptuales
(Ej.: Proceso Qumico, Transaccin Bancaria) Bancaria) (Ej.: Lista Enlazada, Interfaz Grfica) Grfica)
Entidades de Software
Qu es un Objeto?
Definicin Formal (Rumbaugh): (Rumbaugh):
Un objeto es un concepto, abstraccin o cosa con un significado y lmites claros en el problema en cuestin Estado Comportamiento Identidad
Lo que el objeto puede hacer El comportamiento de un objeto determina cmo ste acta 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 mtodos
Qu es una Clase?
Una clase es una descripcin de un grupo de objetos con:
Propiedades en comn (atributos) Comportamiento similar (operaciones) La misma forma de relacionarse con otros objetos (relaciones) Una semntica en comn (significan lo mismo) Enfatiza las caractersticas relevantes Suprime otras caractersticas (simplificacin)
Objetos y Clases
Una clase es una definicin abstracta de un objeto
Define la estructura y el comportamiento compartidos por los objetos Sirve como modelo para la creacin de objetos
Nombre Ubicacin Das Ofrecidos Horario de Inicio Horario de Trmino Agregar un Alumno Borrar un Alumno Entregar un Listado del Curso Determinar si est Completo
Comportamiento (Mtodos)
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Modificadores de Acceso
Permiten definir el nivel de acceso (visibilidad) de los miembros (atributos o mtodos) de una clase
Publico: Cualquier clase puede ver los miembros pblicos de otra clase Privado: Slo la clase puede ver sus propios miembros privados
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Qu es UML?
UML es un lenguaje visual para especificar, construir y documentar sistemas (OMG - Object Management Group) Unified (UNIFICADO):
El aporte de muchos mtodos y notaciones Independiente de implementaciones, plataformas y lenguajes Los modelos son utilizados en todas las ingenieras Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje comn
Modeling (MODELADO):
Language (LENGUAJE):
UML no es Metodologa!
La primera seccin contiene el nombre de la clase La segunda seccin muestra la estructura (atributos) La tercera seccin muestra el comportamiento (operaciones)
Los miembros pblicos se denotan con el signo + Los miembros privados se denotan con el signo
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Herencia
Encapsulamiento
Abstraccin
Ignorancia Selectiva
La abstraccin nos ayuda a trabajar con cosas complejas Se enfoca en lo importante Ignora lo que no es importante (simplifica)
Encapsulamiento
Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos
Permite abstraer al resto del mundo de la complejidad de la implementacin interna Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos definido mediante miembros pblicos Por qu es til?
Relaciones
Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento de un sistema colaborando entre si
Asociacin Agregacin
Relaciones de Asociacin
Una asociacin es una conexin entre dos clases que representa una comunicacin
Una asociacin puede tener nombre La comunicacin puede ser tanto uni como bibidireccional (por defecto) La multiplicidad es el nmero de instancias que participan en una asociacin Una Persona es Duea de un Vehculo Un Vehculo Pertenece a una Persona
Ejemplo:
Relaciones de Agregacin
La agregacin es una forma especial de asociacin donde un todo se relaciona con sus partes
Tambin se conoce como una parte de o una relacin de contencin Una Puerta es una parte de un Vehculo El Vehculo es azul, la Puerta es Azul Mover el Vehculo implica mover la Puerta
Ejemplo:
Herencia
Clase Base
Es una relacin 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 adems de los propios Soporta todos o algunos de los mtodos de la clase base
Clases Derivadas o subclases
Herencia
Herencia Es-Un: herencia real, donde la Essubclase es un tipo especfico de la superclase
Temas a Tratar
Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Principios de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos
Interfaces (1/3)
Recurso de diseo soportado por los lenguajes orientados a objetos que permite definir comportamiento Permite que clases que no estn estrechamente relacionadas entre s deban tener el mismo comportamiento La implementacin de una interfaz es un contrato que obliga a la clase a implementar todos los mtodos definidos en la interfaz
Interfaces (2/3)
Interfaces (3/3)
Se crean las interfaces que definen comportamiento Hidroavin deber definir los comportamientos de cada una de las interfaces que implemente
Polimorfismo
Es la propiedad que tienen los objetos de permitir invocar genricamente un comportamiento (mtodo) cuya implementacin ser delegada al objeto correspondiente recin en tiempo de ejecucin El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es as
Polimorfismo - Ejemplo
La definicin del mtodo reside en la clase base La implementacin del mtodo reside en la clase derivada La invocacin es resuelta al momento de ejecucin
Transporte Avanzar Frenar
Transporte
Avanzar Frenar
Transporte Avanzar Frenar Transporte Avanzar Frenar
2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.