La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación III 21/04/2017.

Presentaciones similares


Presentación del tema: "Programación III 21/04/2017."— Transcripción de la presentación:

1 Programación III 21/04/2017

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

3 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

4 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

5 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

6 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

7 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]

8 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

9 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

10 ¿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

11 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

12 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

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

14 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

15 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

16 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

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

18 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

19 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

20 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

21 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

22 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]

23 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

24 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

25 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

26 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

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

28 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

29 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

30 Relaciones entre clases. Herencia
TRANSPORTE 21/04/2017

31 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

32 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

33 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

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

35 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

36 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

37 Fin de la presentaciòn 21/04/2017


Descargar ppt "Programación III 21/04/2017."

Presentaciones similares


Anuncios Google