Programación III 21/04/2017.

Slides:



Advertisements
Presentaciones similares
Pilares de la POO.
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Unidad 3 Lenguajes .Net y POO
Curso de Java Capitulo 7: Continuación Poo Profesor:
POLIMORFISMO UNIDAD 4.
Lenguaje de programación Java
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
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
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
UML.
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.
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
U NIDAD III P ROGRAMACIÓN O RIENTADA A O BJETOS (POO) Facilitadora: Ing. Patricia Gómez.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Introducción a la programación Orientada a objetos
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Diagramas de Clase Angela Carrillo R..

Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
DISEÑO DE SOFTWARE 1ª. Parte
Programación Orientada a Objetos
Programación Orientada Objetos
Diagrama de Clases ACI 570.
Programación Orientada a Objetos (P.O.O.)
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Introducción a la Programación Orientada a Objetos (POO)
Ingeniería de Requisitos
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Programación orientada a objetos
Programación Orientada a Objetos. Es importante aclarar desde un principio la diferencia que existe entre programación orientada a objetos y un lenguaje.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
PROGRAMACIÓN IV INTRODUCCIÓN.
FUNDAMENTOS DE PROGRAMACION
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
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.
ORIENTACIÓN A OBJETOS El paradigma.
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Diagrama de Clases.
Paradigma Orientado a Objetos
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.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
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.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar los.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

Programación III 21/04/2017

Introducción a la Programación Orientada a Objetos Programación III Lic. Judith Callisaya Choque 21/04/2017

INTRODUCCIÓN A LA PROGRAMACION OO ¿Que es Orientado a Objetos? Desarrollo de Software en lenguajes de programacion como: C++,smalltalk,ADA 95,Eiffel. Actualmente usado en lenguajes visuales:Java, Php, FrameWorks, conjugado con el planteamiento estándar UML(Lengaje de Modelado Visual) 21/04/2017

Programación OO La Programación OO trabaja exclusivamente con objetos y que cada uno de estos serán instancias de determinadas clases y que estas se relacionan las unas con las otras mediante herencias. Instancia: Efectuar una copia de la clase 21/04/2017

Siglas usadas POO y OOP POO: Programacion Orientada a Objetos. OOP: Object Oriented Programming Todo programa para ser considerado OO debe incluir: Objetos Clases Herencia 21/04/2017

Evolución de la POO Cobro importancia en el año 1968 en la conferencia de la OTAN “Ingeniería del Software y Crisis del software ” expresándose que el software era caro, poco fiable y escaso. En los años 70 y 80 los sistemas a implementarse adquirían mayor complejidad y los costes de mantenimiento requerían una inversión de mas de la mitas de los costos y recursos globales del desarrollo total del software. Es así que la POO baja los costos de mantenimiento debido al software reutilizable. 21/04/2017

Modularidad “Propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados” [Booch’96] 21/04/2017 [Booch’96]

Alta cohesión: Un módulo con responsabilidades altamente relacionadas y que no hace una gran cantidad de trabajo Bajo acoplamiento: Un módulo que no depende de demasiados otros módulos. Favorece: Comprensión modular: es posible entender un módulo sin conocer los otros. Continuidad modular: un cambio en la especificación afecta sólo a un módulo o a unos pocos. Protección modular: el efecto de una situación anormal producida en un módulo afecta sólo a éste o a unos pocos. Los módulos se comunican mediante interfaces estrechas y bien definidas. 21/04/2017

Principios de diseño modular Ocultación de información “El diseñador de cada módulo debe seleccionar un subconjunto de propiedades de un módulo como información oficial para ponerla a disposición de los autores de módulos clientes” Una abstracción de datos puede verse como que tiene dos caras: Interfaz: operaciones que definen el comportamiento (cliente) Implementación (programador) Encapsulación es distinto a Ocultación de Información. La encapsulación es una facilidad del lenguaje que me permite definir de manera conjunta los datos y las operaciones aplicables. La ocultación de información es un principio de diseño es un principio de diseño que evita que los clientes tengan que conocer profundamente los diseños de los módulos. Aisla al cliente de los detalles de programación. apilar desapilar #define TAM 10 int datos[TAM]; 21/04/2017

¿Qué significa Orientación a Objetos? El software se organiza como una colección de objetos que contienen tanto estructura como comportamiento. ¿Qué es el desarrollo OO? Una nueva forma de pensar acerca del software basándose en abstracciones que existen en el mundo real. Foco Potencia encender() apagar() 21/04/2017

Conceptos fundamentales de POO Clases y Objetos Las clases son la construcción lógica sobre la que se basa el lenguaje Java, definen la forma y naturaleza de un objeto y constituyen los fundamentos de la programación OO. Ahora veremos: CLASES Vs. OBJETOS 21/04/2017

Hablemos de Objetos Que es un objeto ? Un objeto es una instancia de una clase (una categoría). Un objeto tiene una estructura. Tiene atributos (propiedades) y actividades (comportamiento). El comportamiento de un objeto consiste en las operaciones que desempeña. 21/04/2017

¿Cómo se encuentran los objetos? “Los objetos están ahí para usarlos” 21/04/2017

Definición de un objeto Los objetos son concretos y pueden representar objetos reales o abstractos. Por ejemplo: Cada ser humano pertenece a la clase persona Tiene atributos (características): Luis Pérez Varón 15 años 1,7 m Funciones (Comportamientos o acciones) que puede realizar: Luis:: nace Luis::crece Luis::alimenta Luis:: muere 21/04/2017

Definición del objeto coche Funciones que puede realizar: Ir Parar Girar a la derecha Girar a la izquierda Tiene las características: Color Velocidad Tamaño Carburante 21/04/2017

Clasificación de objetos Cosas tangibles: Avión, libro. Roles o papeles: Gerente, cliente, empleado. Organizaciones: Equipo, empresa, división Incidentes: (Sucesos, eventos) vuelo, accidente. Interacciones: (Transición, contratos) compras, ventas, contrato laboral. Especificaciones: Inventarios, proformas. Lugares: Sala de espera, parqueo, oficina. 21/04/2017

Los objetos con estados similares y el mismo comportamiento se agrupan en clases 21/04/2017

Clases (UML) Una clase esta conformada básicamente por atributos y operaciones, los atributos representan los datos de la clase y se implementan mediante variables, las operaciones se implementan a través de métodos, se deben manipular solamente a través de los métodos. Aeronave tipo marca modelo capacidad fuerza velMax …….. acelerar() desacelerar() ascender() descender() giroDer() giroIzq() ……… 21/04/2017

Ejemplo: Clase Aeronave Los objetos se los categoriza en clases. Aeronave tipo marca modelo capacidad fuerza velMax …….. acelerar() desacelerar() ascender() descender() giroDer() giroIzq() ……… En OO, una clase no solo tiene el objetivo de categorizar sino también el de servir como plantilla para crear objetos. 21/04/2017

Conceptos fundamentales de POO La Orientación a Objetos (OO) tiene como objetivo desarrollar programas (software) que reflejen un pedazo del mundo real. La OO va mas allá de solo considerar atributos y comportamiento. Considera otros aspectos de los objetos: Abstracción, herencia, polimorfismo, encapsulación... 21/04/2017

Abstracción En palabras sencillas “abstracción” significa filtrar las propiedades y operaciones de un objeto hasta que queden solamente aquellas que necesitamos. (Generalización) HH:mm:ss 21/04/2017

Abstracción (2) “Supresión intencionada, u ocultamiento, de algunos detalles de un proceso o artefacto, con el objeto de destacar de manera más clara otros aspectos, detalles o estructuras” 21/04/2017 [Booch’96]

La calculadora oculta las operaciones que realiza Encapsulación Es el “empaquetar” en una clase los datos (propiedades) y el código (métodos) que operan en esos datos. El acceso a esos datos solo es permitido a través de los métodos del objeto. La calculadora oculta las operaciones que realiza internamente de la persona que la utiliza. 21/04/2017

Encapsulación (2) Las clases pueden ser declaradas como publicas y como packaje. Los atributos y métodos pueden ser public, private, protected y packaje. De esta forma se puede controlar el acceso y evitar un uso inadecuado. 21/04/2017

Encapsulación (3) “Proceso de almacenar en un mismo compartimento los elementos de una abstracción que constituyen su estructura y su comportamiento” [Booch’96] [Booch’96] 21/04/2017

Herencia La herencia podemos definirla como la capacidad para crear nuevas clases a partir de clases existentes (extends). Las nuevas clases podrán contar con otros atributos y operaciones (métodos). Una clase derivada puede añadir nuevos atributos y métodos y/o redefinir los atributos y métodos heredados. Ventaja principal: Reutilización del código. Existen 2 tipos de herencia: Simple y Múltiple. 21/04/2017

Ejemplo de herencia: Padre e hijo. Superclase Subclase 21/04/2017

Herencia Simple Herencia Simple:En este tipo de jerarquía cada clases tiene como máximo una sola clase base. Polígono Triangulo Rectángulo Hexágono 21/04/2017

Herencia Multiple Herencia Múltiple: Se refiere a que una clase derivada puede heredar todas las características asociadas a más de una clase base o superclase. Persona Profesor Profesor Universitario Investigador 21/04/2017

Relaciones entre clases. Herencia TRANSPORTE 21/04/2017

Polimorfismo Es la habilidad de enviar el mismo mensaje a objetos de diferentes clases y que cada objeto responda de una manera particular, según su naturaleza. Se producirá una operación diferente, para cada uno de ellos, a pesar de que la acción tiene el mismo nombre.. abrir 21/04/2017

Envío de Mensajes Los objetos trabajan entre si por medio del envío de mensajes. Todos los objetos se comunican entre sí mediante el paso de mensajes, y esta referido a la ejecución de un método asociado con el objeto que lo llama. Luego para enviar mensajes se estipula el nombre del objeto y la acción que se requiere poner en ejecución. 21/04/2017

Asociaciones Una asociación es un mapeo entre un objeto en una clase con uno o más objetos en otra clase. conduce 21/04/2017

Relación de Persona y Coche propietario Persona 21/04/2017

Relaciones entre módulos: Editorial Publicacion Autor Revista Libro Actas Congreso “Libro es una especialización de Publicacion” “Publicacion usa servicios de Autor” 21/04/2017

Agregación Es el proceso de crear una clase que esta conformada en su totalidad o en parte por objetos de otra clase. PC CPU memoria monitor ratón teclado ….. 21/04/2017

Fin de la presentaciòn 21/04/2017