introducción a la programación orientada a objetos (2).pptx
TRANSCRIPT
Unidad 1: Introducción a la POO
3
Programación Orientada a Objetos
Contenidos
1. Programación Orientada a Objetos2. Lenguajes de POO3. UML
2
Programación Orientada a ObjetosLa programación orientada a objetos o POO es un paradigma de
programación que usa los objetos en sus interacciones, para
diseñar aplicaciones y programas informáticos.
Está basado en varias técnicas, incluyendo herencia, cohesión,
abstracción, polimorfismo, acoplamiento y encapsulamiento. Su
uso se popularizó a principios de la década de los años 1990.
En la actualidad, existe una gran variedad de lenguajes de
programación que soportan la orientación a objetos.
4
Programación Orientada a Objetos¿Qué es un Objeto?Es una representación abstracta de un elemento del mundo real.
Que tiene un determinado estado, comportamiento (método) e
identidad.
Objeto: Bicicleta roja
El estado es representado por lo atributos. El comportamiento por los métodos. La identidad por un valor único que lo hace diferente a otro objeto. Ej. “Bicicleta Roja y Bicicleta Azul” ambas son bicicletas pero no son la misma bicicleta.
5
Programación Orientada a ObjetosAgregación de Objetos
Partes
Un objeto a su vez puede contener otros objetos con sus propios atributos y métodos e identidad que juntos permiten definir un todo.
6
Todo : BicicletaLlantaManubrioTimbrePedal
Partes :
Programación Orientada a Objetos
Los objetos son la forma natural de interpretarel mundo que nos rodea.
7
Programación Orientada a ObjetosPara conceptualizar el mundo que nos rodea
siempre clasificamos.
Animales
Plantas
8
Programación Orientada a Objetos
• Las clases y los objetos están en todas partes enel mundo real.
Vehículo
Animal
Punto
Figura (1,3)(2,2)(2,1)
(5,2.5)
9
Programación Orientada a Objetos
Terminología Básica:• Clase: Se corresponde con un conjunto de
objetos, de igual estructura ycomportamiento que se agrupan por estasimilitud.Es una plantilla para crear objetos.
• Objeto: Cada instancia de la clase.• Atributos: Características de un objeto que
se definen en su clase.10
Programación Orientada a Objetos
Terminología Básica:• Comportamiento: Acción que realiza un
objeto y que será definido como método desu clase
• Método: Algoritmo asociado a una clase.• Mensaje o solicitud: Invocación a un objeto para que ejecute cierto método . Forma de
comunicarse entre los objetos para lograr unfuncionamiento determinado del sistema.
11
Programación Orientada a Objetos
Terminología Básica:• Programa Orientado a Objetos: Conjunto
de objetos colaborando o Conjunto deobjetos enviando mensajes y
respondiendo a otros mensajes
12
Programación Orientada a Objetos
En Conclusión:“La Programación Orientada a Objetos es unmétodo de implementación en el que losprogramas se organizan como coleccionescooperativas de objetos, cada uno de los cualesrepresenta una instancia de alguna clase, y cuyasclases son todas miembros de una jerarquía declases unidas mediante relaciones”
Grady Booch13
Unidad 1: Introducción a la POO
Lenguajes de POO
14
Lenguajes de POO
15
● Se le llama así a cualquier lenguaje de programación que implementa los conceptos definidos por la programación orientada a objetos.
● Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos.
Lenguajes de POO
16
Cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre estos tipos de datos, y de instanciar el tipo de dato podría ser considerado orientado aobjetos.
Lenguajes de POO
Ventajas de un lenguaje orientado a objetos• Fomenta la reutilización y extensión del
código.• Permite crear sistemas más complejos.• Relacionar el sistema al mundo real.• Facilita la creación de programas visuales.• Construcción de prototipos• Agiliza el desarrollo de software
17
Lenguajes de POO
Ventajas de un lenguaje orientado a objetos• Facilita el mantenimiento del software• Lo interesante de la POO es que
proporciona conceptos y herramientas conlas cuales se modela y representa elmundo real tan fielmente como seaposible.
18
Unidad 1: Introducción a la POO
UML
19
UML
• Lenguaje Modelamiento Unificado• Creado por Grady Booch, Jim Rumbaugh e
Ivar Jacobson
20
UML
• Es un estándar diseñado para visualizar,especificar, construir y documentarsoftware Orientado a Objetos.
• Es un estándar OMG (Object Management Group - Grupo de gestión de objetos).
21
UML
• UML combina notaciones provenientesdesde:
• Modelado Orientado a Objetos• Modelado de Datos• Modelado de Componentes• Modelado de Flujos de Trabajo (Workflows)
22
UML
• UML unifica distintas notaciones previas
23
UML
Qué es un Modelo?• Un modelo es una simplificación de la
realidad• El modelado es esencial en la construcción de
software para:• Comunicar la estructura de un sistema complejo• Especificar el comportamiento deseado del sistema
• Comprender mejor lo que estamos construyendo• Descubrir oportunidades de simplificación y
reutilización
24
UML
Qué es un Modelo?• Un modelo proporciona “los planos” de un
sistema y puede ser más o menosdetallado, en función de los elementos quesean relevantes en cada momento
• El modelo ha de capturar LO ESENCIAL
25
UML
Modelos y Diagramas• Todo sistema puede describirse desde
distintos puntos de vista:• Modelos estructurales (organización del sistema)
• Modelos de comportamiento (dinámica delsistema)
• Los diagramas representan gráficamentepartes de un modelo.
26
UML
Modelos y Diagramas• UML estandariza 9 tipos de diagramas para
representar gráficamente sistema desdedistintos puntos de vista
27
UML
Diagramas de UML
28
UML
Relación entre Diagramas
Diagrama deCasos de Uso
Diagramas de
Secuencia
Diagramas deColaboración
Diagramas deClases yObjetos
Diagramas deEstado
Diagramas deActividad
Diagramas deDistribución
Diagramas deComponentes
CODIGO
29
UML
Diagramas entre clases• Es el diagrama principal para el análisis y
diseño del sistema• Presenta las clases del sistema con sus
relaciones estructurales y de herencia• La definición de clase incluye definiciones
para atributos y operaciones
30
UML
Diagrama de Clases• Cada clase se representa en un rectángulo
con tres compartimientos:
• nombre de la clase• atributos de la clase• operaciones de la clase
31
UML
Diagrama de Clases
32
UML
Rational Unified Process - RUP• El RUP no es un sistema con pasos
firmemente establecidos, sino un conjuntode metodologías adaptables al contexto ynecesidades de cada organización.
33
UML
Ciclo de vida según RUP
34
UML
Actividades por Fase
35