ALGORITMICA II - Tipos Abstractos de Datos (TAD)

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
PROGRAMACION ORIENTADA A OBJETOS
Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
Elementos para Interpretar el Modelo Conceptual de Datos
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
Fundamentos de Ingeniería de Software
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Tipo de Dato Abstracto Tipos de datos:
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
ORIENTADO A OBJETOS ESTUDIANTE JESSICA LORENA LEAL MEDINA INGENIERIA DE SOFTWARE PROGRAMA INGENIERIA DE SISTEMAS UNIVERSIDA COOPERATIVA DE COLOMBIA NEIVA-HUILA.
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
PROGRAMACION ORIENTADA A OBJETOS
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
PROGRAMACIÓN ORIENTADA A OBJETOS
Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7.
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
Introducción a la programación Orientada a objetos
PROGRAMACION ORIENTADA A OBJETOS CON C#.
Viviana Poblete López Módulo: Modelo de Datos

Fundamentos de Programación
Fundamentos de programación
OBJETOS Y CLASES Ing. Christian Ovalle.
Programación Orientada Objetos
DEFINICIÓN  Es una forma de entender un problema identificando las entidades principales que se encuentran en el.  Es una forma de desarrollar un sistema.
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
Universidad Domingo Savio
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Programación Orientada a Objetos (P.O.O.)
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Bases de Datos.
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Programación orientada a objetos (OPP)
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Programación orientada a objetos
Atributos, métodos y encapsulamiento.
Programación III 21/04/2017.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
UNIVERSIDAD TECNOLÓGICA DE IZÚCAR DE MATAMOROS TECNOLOGÍAS DE LA INFORMACION Y COMUNICACIÓN BASE DE DATOS PARA APLICACIONES MTRO. GONZALO ROSAS CABRERA.
*INTERFACES*. DEFINICION Cuando uno usa una herramienta, o accede e interactúa con un sistema, suele haber “algo” entre uno mismo y el objeto de la interacción.
Programación Orientada a Objetos: CLASES Y OBJETOS
Programación Orientada Objetos
La Programación Orientado a Objetos
Paradigma Orientado a Objetos
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Modelado UML Diagrama de Clases
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Transcripción de la presentación:

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II CAPÍTULO II PROGRAMACION ORIENTADA A OBJETOS (POO) DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.1.- MODELO DE OBJETOS Es una forma de representar la realidad a imagen y semejanza, considerando que el mundo real que tratamos está constituido por cosas, entidades u objetos que interactúan entre sí. Abarca los principios de abstracción, encapsulación, modularidad, jerarquía, tipos, concurrencia y persistencia. Tangibles: libros, personas, lámparas, etc. Intangibles: cuentas corrientes, reservaciones aéreas, etc. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.2.- MECANISMOS DE ABSTRACCION ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.2.- MECANISMOS DE ABSTRACCION los mecanismos de abstracción permitan entender, clasificar y modelar la realidad. Dentro de estos mecanismos tenemos: Abstracción de clasificación Abstracción de generalización – especialización Abstracción de agregación/composición DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.2.1.- Abstracción de Clasificación ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.2.1.- Abstracción de Clasificación La abstracción de clasificación nos permite percibir que los objetos de la realidad se pueden agrupar en clases o tipos de objetos, caracterizados por propiedades y comportamiento comunes. Clase de Objetos Empleados Clase de Objetos Libros Clase de Objetos Documentos El mundo real esta formado por objetos. Todo objeto pertenece por lo menos a una clase de objetos. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.2.2.- Abstracción de Generalización-Especialización ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.2.2.- Abstracción de Generalización-Especialización Los objetos de clase Avión y de la clase Helicóptero pertenecen a una clase más genérica Vehículos de transporte Aéreo. Esta clase conjuntamente con las clases Vehículos de Transporte Terrestre y Vehículos de Transporte Marítimo pertenecen aún a otra clase más genérica como es la clase Vehículo de Transporte. Vehículo de Transporte Vehículo de transporte aéreo Vehículo de Transporte marítimo Especialización Generalización Avión Helicóptero Los Objetos del mundo real se organizan en clases y subclases, con una estructura jerárquica. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.2.3.- Abstracción de Agregación ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.2.3.- Abstracción de Agregación Si se hace un análisis más minucioso de los objetos del mundo real, se puede constatar que muchos de estos objetos están construidos a partir de otros objetos. Así, un objeto de la clase COMPUTADOR esta formado por objetos de las clases CPU, MONITOR, TECLADO, MOUSE, IMPRESORA etc. Objeto Computador Objeto Impresora Objeto Monitor Objeto Teclado Objeto CPU La abstracción de agregación es la representación del “todo y sus partes”. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.- CONCEPTO DE OBJETO Definición Informal Un objeto es una entidad o cosa que tiene ciertas propiedades (información) y exhibe algún comportamiento bien definido. Objeto = Información + Comportamiento Desde la perspectiva de la cognición humana, un objeto es cualquiera de las siguientes cosas: Una cosa tangible y/o visible. Algo que puede comprenderse intelectualmente. Algo hacia lo que se dirige un pensamiento o acción. Un objeto modela alguna parte de la realidad y es, por tanto, algo que existe en el tiempo y el espacio. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.- CONCEPTO DE OBJETOS… Definición Formal (Grady Booch) Un objeto es una entidad que tiene un estado, un comportamiento y una identidad. Los valores de las características constituyen el estado de un objeto CUENTA DE AHORROS Número Cuenta: 12345 Nombres: Ana Paz Dirección: Av. Perú 123 Doc. Identidad: 23742723 Registrar Depósitos() Registrar Retiros() Calcular Intereses() Tipo de Objeto Características El Número de Cuenta identifica al objeto Operaciones Las operaciones constituyen el comportamiento del objeto DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.3.- CONCEPTO DE OBJETOS…(Estado) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.- CONCEPTO DE OBJETOS…(Estado) Todos los objetos tienen características, propiedades o atributos. Por ejemplo, el objeto Cuenta de Ahorro tiene como atributos: Número Cuenta, Nombres, Dirección, Documento de Identidad. Los atributos normalmente son estáticos, no cambian con el tiempo; mientras que los valores asociados a estos atributos son dinámicos, pueden cambiar con el tiempo. El estado de un objeto está dado por los valores actuales de cada una de sus propiedades o atributos. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.3.- CONCEPTO DE OBJETOS…(Comportamiento) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.- CONCEPTO DE OBJETOS…(Comportamiento) Todos los objetos interactúan unos con otros. Esto significa que ningún objeto existe de forma aislada. La interacción se efectúa en función a los servicios que ofrece cada objeto. Un servicio es alguna función (comportamiento) que puede efectuar un objeto. Objeto Cuenta Ahorros (Servicios) Objeto Cajero (Servicios) Interacción entre Objetos El comportamiento es cómo actúa y reacciona un objeto, en función a la interacción que efectúa sobre otros objetos o que efectúan otros objetos sobre él. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.3.- CONCEPTO DE OBJETOS…(Identidad) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.- CONCEPTO DE OBJETOS…(Identidad) Un objeto en el mundo real es único y se diferencia de los otros objetos incluso de la misma clase. Es posible identificar entre todas las propiedades del objeto, una propiedad que lo distingue de todos los demás objetos, esta propiedad es la que identifica el objeto. CUENTA DE AHORROS Número Cuenta: 12345 Nombres: Ana Paz Dirección: Av. Perú 123 Doc. Identidad: 23742723 No puede haber dos cuentas de ahorros con el mismo Número. En consecuencia, el Número de Cuenta identifica unívocamente al objeto La identidad es aquella propiedad o atributo de un objeto que los distingue de todos los demás objetos. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.1- ENCAPSULAMIENTO Objeto = Características + Comportamiento Objeto = Información + Proceso Objeto = Atributos + Métodos Las características y el comportamiento de un objeto es modelado en un compartimiento (cápsula) único e indivisible. Por encapsulamiento debemos entender que un objeto debe ser considerado como “un todo”, como una unidad atómica indivisible, que engloba las características y el comportamiento del objeto. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.3.2- REPRESENTACION DE UN OBJETO ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.3.2- REPRESENTACION DE UN OBJETO METODOS (SERVICIOS) Solicitar Servicios a otros objetos ATRIBUTOS Responder a Servicios solicitados por otros objetos Vista Interna (Oculta) (Parte Privada) Vista Externa (Visible) (Parte Pública) DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.4.- CLASES La abstracción de clasificación nos permite percibir que los objetos de la realidad están organizados como clases o tipos de objetos, caracterizados por propiedades comunes. Todo objeto pertenece a alguna clase de objetos. En la POO una clase es la implementación de un tipo de objetos. La POO identifica, implementa y utiliza tipos o clases de objetos del dominio del problema. Una clase es como un molde que se utilizará para construir objetos. Clase = Implementación (Atributos + Métodos) Comunes a todos los objetos de la clase En la POO lo que realmente se implementa son las clases y no los objetos. Los objetos se crean o construyen (“tienen vida”) en tiempo de ejecución DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.4.- CLASES…(Conceptos Asociados) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.4.- CLASES…(Conceptos Asociados) ACOPLAMIENTO En la programación estructurada los módulos se escriben muchas veces en función de otros módulos. Por ejemplo, si el módulo B depende del módulo A, entonces cualquier cambio en el módulo A implica también una modificación en el módulo B. Esta dependencia se conoce como acoplamiento. Un programa con muchas dependencias tiene fuerte acoplamiento (cualidad no deseada). Los buenos programas tienen pocas (o ninguna) dependencia, es decir, débil acoplamiento. La POO tiende al diseño e implementación de clases con débil acoplamiento DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.4.- CLASES…(Conceptos Asociados) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.4.- CLASES…(Conceptos Asociados) OCULTAMIENTO DE LA INFORMACION Es el proceso de ocultar todos los detalles internos de un objeto, y poner a disposición de los otros objetos solamente la lista de servicios que éste ofrece. Es ver un objeto con una vista interna y una vista externa. La vista interna no es visible ni accesible para otros objetos, esconde la estructura de los atributos y protege el acceso directo a ellos desde fuera del objeto. También es parte de la vista interna la implementación de los métodos, es decir el “cómo” están hechos. La vista externa es lo que ven los otros objetos, es la parte visible y accesible del objeto, está constituido por la lista de métodos del objeto, con una explicación de “qué” hacen o “para qué” sirven. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.4.- CLASES…(Conceptos Asociados) ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.4.- CLASES…(Conceptos Asociados) INTERFACES La interfaz es la vista externa del objeto. Es el conjunto de servicios que ofrece el objeto. Los otros objetos o el resto del programa pueden utilizar el objeto sólo mediante los servicios definidos en la interfaz. Se puede modificar la implementación interna de un objeto A, mientras no se cambie la interfaz del objeto A los otros objetos que interactúan con éste no se verán afectados. DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho

2.5.- IMPLEMENTACION DE CLASES ALGORITMICA II - Tipos Abstractos de Datos (TAD) Algorítmica II. Programación Orientada a Objetos 2.5.- IMPLEMENTACION DE CLASES Esquema general de implementación de clases en C Sharp, que se utilizará como patrón. public class Nombre_de_la_clase { } // ============ ATRIBUTOS ============= // ============ METODOS ============= // ----------------- Constructores -------------------- // ----------------- Propiedades ---------------------- // ----------------- Otros Métodos ---------------------- Parte Privada Parte Pública DAI - Ing. Arturo Rozas Huacho DAI - Ing. Arturo Rozas Huacho