SlideShare una empresa de Scribd logo
1 de 28
Programación Orientada a Objetos
Isidro González Caballero
(Universidad de Oviedo)
Técnicas de Comp. en Física
Santander, 08/11/2010
Introducción
 Los problemas suelen tener varias soluciones posibles.
 En programación existen diversas metodologías que nos
ayudan a enfrentar un problema.
 Cada metodología tiene diversos lenguajes que las
soportan.
– Algunos lenguajes soportan varias metodologías.
Metodología Lenguaje
Estructurada Fortran, C, Pascal, Basic
Orientada a objetos (OOP) C++, Java, Smalltalk
Orientada a eventos VisualBasic
Programación Orientada a Objetos
Definición:
La Programación Orientada a Objetos (OOP) es un
método de programación en el cual los programas se
organizan en colecciones cooperativas de objetos,
cada uno de los cuales representa una instancia de
alguna clase, y cuyas clases son, todas ellas,
miembros de una jerarquía de clases unidas
mediante relaciones de herencia.
Comentarios:
 Usamos objetos en lugar de algoritmos como bloque fundamental
 Cada objeto es una instancia de una clase
 Las clases están relacionadas entre sí por relaciones tan
complejas como la herencia
Ventajas de la POO
 Proximidad de los conceptos modelados
respecto a objetos del mundo real
 Facilita la reutilización de código
– Y por tanto el mantenimiento del mismo
 Se pueden usar conceptos comunes durante
las fases de análisis, diseño e implementación
 Disipa las barreras entre el qué y el cómo
Desventajas de la POO
 Mayor complejidad a la hora de entender el
flujo de datos
– Pérdida de linealidad
 Requiere de un lenguaje de modelización de
problemas más elaborado:
– Unified Modelling Language (UML)
– Representaciones gráficas más complicadas
Conceptos de la OOP
Conceptos básicos
 Objeto
 Clase
Características de la OOP
 Abstracción:
 Encapsulamiento:
 Modularidad:
 Jerarquía
Otros conceptos OOP
 Tipos
 Persistencia
Tipos de relaciones
 Asociación
 Herencia
 Agregación
 Instanciación
Representaciones gráficas
 Diagramas estáticos (de
clases, de objetos...)
 Diagramas dinámicos (de
interacción...)
Objeto y Clase
Un objeto es algo de lo
que hablamos y que
podemos manipular
 Existen en el mundo real (o
en nuestro entendimiento del
mismo)
Una clase describe los
objetos del mismo tipo
 Todos los objetos son
instancias de una clase
 Describe las propiedades y el
comportamiento de un tipo de
objetos
Clase
Atributos
Operaciones
Objeto:Clase
Atributo1=valor
Atributo2=valor
...
Conceptos OOP: Abstracción
 Nos permite trabajar con la complejidad del mundo real
– Resaltando los aspectos relevantes de los objetos de una clase
– Ocultando los detalles particulares de cada objeto
 Separaremos el comportamiento de la implementación
 Es más importante saber qué se hace en lugar de cómo se
hace:
Un sensor de temperatura
– Se define porque...
 mide la temperatura
 nos muestra su valor
 se puede calibrar...
– No sabemos... (no nos importa)
 cómo mide la temperatura
 de qué está hecho
 cómo se calibra
Conceptos OOP: Abstracción
 La abstracción no es única:
Un coche puede ser...
– Una cosa con ruedas, motor, volante
y pedales (conductor)
– Algo capaz de transportar personas
(taxista)
– Una caja que se mueve (simulador
de tráfico)
– Conjunto de piezas (fabricante)
Conceptos OOP: Encapsulamiento
 Ninguna parte de un sistema complejo debe
depender de los detalles internos de otra.
 Complementa a la abstracción
 Se consigue:
– Separando la interfaz de su implementación
– Ocultando la información interna de un objeto
– Escondiendo la estructura e implementación de los
métodos (algoritmos).
– Exponiendo solo la forma de interactuar con el
objeto
Conceptos OOP: Encapsulamiento
Vemos que se puede...
 Construir con:
– 4 puntos (y restricciones)
– 1 punto y 2 vectores
– 1 punto, 1 vector, 1
ángulo y 1 lado
 Transformaciones:
– Escalado
– Rotación
– Desplazamiento
 Dibujar
No vemos...
 Como está representado
internamente
– 4 puntos?
– 1 punto y 2 vectores?
– ...
 Como se modifica su escala
– Guardando el factor?
– Escalando en el momento?
 Idem para rotación, traslación,
etc...
Ejemplo: Un paralelogramo
Conceptos OOP: Modularidad
 Consiste en separar el sistema en bloques poco
ligados entre sí: módulos.
– Organización del código
 Es una especie de encapsulamiento de más alto nivel.
– El C++ no lo impone aunque lo soporta
(namespace)
– El Java es más formal (packages)
 Difícil pero muy importante en sistemas grandes.
– Suele aplicarse refinando el sistema en sucesivas
iteraciones
– Cada módulo debe definir una interfaz clara
Conceptos OOP: Modularidad
Ejemplo: Simulación detector de AAEE
Puede dividirse en los siguientes módulos...
1. Geometría: Describe el detector
físicamente (forma, materiales, tamaño)
2. Partículas: Las partículas cuyas
interacciones nos interesan
3. Procesos: Aquí enlazamos la información
del detector (materia) con las propiedades
de las partículas.
4. ...
 Podríamos dividir el módulo de procesos en procesos
electromagnéticos, procesos hadrónicos, ...
 Lo mismo podríamos hacerlo con las partículas: leptones,
hadrones, ...
Conceptos POO: Jerarquía
 Es una clasificación u ordenamiento de las
abstracciones
 Hay dos jerarquías fundamentales:
– Estructura de clases:
 Jerarquía “es un/a”
 Relaciones de herencia
– Estructura de objetos:
 Jerarquía “parte de”
 Relaciones de agregación
 Está implementada de manera genérica en la estructura de
clases
Conceptos OOP: Jerarquía
 Una figura plana es:
– Algo con una posición en el
plano
– Escalable
– Rotable
 Un gráfico es algo que se
puede dibujar en 2D
 Un diagrama es un conjunto
de cuadrados y círculos
Herencia simple
 Un cuadrado es una figura
 Un círculo es una figura
Herencia múltiple
es una figura
es un gráfico
Agregación
Ejemplo: Figuras planas y diagramas
Conceptos OOP: Tipo
 Es el reforzamiento del concepto de clase
 Objetos de tipo diferente no pueden ser
intercambiados
 El C++ y el Java son lenguajes fuertemente
“tipeados”
 Ayuda a corregir errores en tiempo de
compilación
– Mejor que en tiempo de ejecución
Conceptos OOP: Persistencia
 Propiedad de un objeto de trascender en el tiempo y
en el espacio a su creador (programa que lo generó)
 No se trata de almacenar sólo el estado de un objeto
sino toda la clase (incluido su comportamiento)
 No está directamente soportado por el C++
– Existen librerías y sistemas completos (OODBMS) que
facilitan la tarea
– Frameworks (entornos) como ROOT lo soportan parcialmente
(reflex)
 El concepto de serialización del Java está
directamente relacionado con la persistencia
Relaciones
 Están presentes en cualquier sistema
 Definen como se producen los intercambios de
información y datos
 También ayudan a comprender las
propiedades de unas clases a partir de las
propiedades de otras
 Existen 4 tipos de relaciones:
– Asociación
– Herencia
– Agregación
– Instanciación
Relación de Asociación
 Relación más general
 Denota una dependencia semántica
 Es bidireccional
 Primer paso para determinar una relación
más compleja
Ejemplo: Relación entre un producto y una venta. Cualquier venta
está asociada a un producto, pero no es, ni forma parte de, ni
posee ningún producto… al menos en una primera aproximación.
 Cardinalidad: multiplicidad a cada lado
– Uno a uno: Venta-Transacción
– Uno a muchos: Producto-Venta
– Muchos a muchos: Comprador-Vendedor
Relación de Herencia
 ¡Relación característica de la OOP!
 Puede expresar tanto especialización
como generalización
 Evita definir repetidas veces
las características comunes a
varias clases
 Una de las clases comparte la estructura
y/o el comportamiento de otra(s)
clase(s).
 También se denomina relación “es un/a”
(is a)
Relación de Herencia (vocabulario)
 Clase base o superclase: clase de la cual se hereda
 Clase derivada o subclase: clase que hereda
 Herencia simple: Hereda de una sola clase
 Herencia múltiple: Hereda de varias clases
– Java solo la soporta parcialmente
– Presenta diversos problemas (¿qué hacer cuando se hereda
más de una vez de la misma clase?)
 Clase abstracta: La que no lleva, ni puede llevar,
ningún objeto asociado
 Polimorfismo: Posibilidad de usar indistintamente
todos los objetos de un clase y derivadas.
Relación de Herencia (ejemplo)
Figura plana
Triángulo
Rectángulo
Equilátero
Escaleno
Isósceles
Cuadrado
Polimorfismo
Clase abstracta
Superclase Subclase
Herencia simple
Relación de Agregación
 Una clase contiene a otra
clase
– Ésta “es parte de” aquélla.
 También se denomina
relación “es parte de” (has a)
 Una clase puede contener a otra:
– Por valor: Cuando los objetos de la clase contenida
se crean y destruyen al mismo tiempo que los de la
clase continente
– Por referencia: Cuando no necesariamente ocurre lo
anterior
Relación de Agregación
Un coche está hecho de
 Volante
 Palanca de cambio
 Motor
 Ruedas
Ruedas
Volante
Marchas
Motor
Coche
Relación de Instanciación
 En determinados casos una clase (p.ej. un
vector) puede implementarse
independientemente del tipo (real, complejo,
color...) de alguno de sus atributos:
– Definimos una clase
parametrizada o template
(plantilla)
– Para cada uno de los tipos
que necesitemos
definimos una nueva
clase  Instanciación
Tipo
Vector
VectorEnteros
<int>
VectorColores
<Color>
Representaciones gráficas
 Nos sirven para comunicarnos con otros usuarios o
desarrolladores.
 Documentan nuestro sistema
 Hay múltiples vistas y tipos de diagramas:
– Estáticos
 Diagramas de clases  Los de los ejemplos
 Diagramas de objetos
 ...
– Dinámicos:
 Diagramas de estado: Muestra el ciclo de vida de los objetos,
sistemas, etc...
 Diagramas secuenciales: Muestra como los objetos interaccionan
entre ellos
 ...
Diagrama de estado: Un ascensor
En el primer
piso
Subiendo
Bajando al
primer piso
Bajando Parado
subir
llegué
llegué subir
bajar
time-out
llegué
Diagrama secuencial: Impresión
Ordenador Impresora Cola
Servidor
Imprime (fichero)
Imprime (fichero)
[impr. Libre]
Almacena (fichero)
[impr. ocupada]

Más contenido relacionado

Similar a Introduccion Programación Orientada a Objetos.ppt

presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptjorgealfarol
 
Introduccion orientación a objetos
Introduccion orientación a objetosIntroduccion orientación a objetos
Introduccion orientación a objetosUniandes
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónjovy2905
 
C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6Tonymx
 
Introduccion A La Oop
Introduccion A La OopIntroduccion A La Oop
Introduccion A La Oopsemuvi
 
Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Hector Gomez
 
D5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosD5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosEllyster
 
Dce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosDce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosJuan Raul Vergara
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instanciasCarlos Castro
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Henry Ayala
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a ObjetosIsmael Perea
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetosRicardo Garcia
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 

Similar a Introduccion Programación Orientada a Objetos.ppt (20)

presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Introduccion orientación a objetos
Introduccion orientación a objetosIntroduccion orientación a objetos
Introduccion orientación a objetos
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de información
 
Java
JavaJava
Java
 
C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Introduccion A La Oop
Introduccion A La OopIntroduccion A La Oop
Introduccion A La Oop
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2
 
D5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosD5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetos
 
Introduccion Orientada a Objetos
Introduccion Orientada a ObjetosIntroduccion Orientada a Objetos
Introduccion Orientada a Objetos
 
Dce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosDce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A Objetos
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetos
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 

Más de docmarcoantoniosotov

2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptxdocmarcoantoniosotov
 
unidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfunidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfdocmarcoantoniosotov
 
Minimal Vintage - Marketing plantilla de estilo.pptx
Minimal Vintage  - Marketing plantilla de estilo.pptxMinimal Vintage  - Marketing plantilla de estilo.pptx
Minimal Vintage - Marketing plantilla de estilo.pptxdocmarcoantoniosotov
 
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptxBiologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptxdocmarcoantoniosotov
 
P5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptxP5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
P4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptxP4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
P3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxP3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
P2 Programacion orientada a objetos con Java.pptx
P2 Programacion orientada a objetos con Java.pptxP2 Programacion orientada a objetos con Java.pptx
P2 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
P1 Programacion orientada a objetos con Java.pptx
P1 Programacion orientada a objetos con Java.pptxP1 Programacion orientada a objetos con Java.pptx
P1 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdfTEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdfdocmarcoantoniosotov
 
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxTema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxdocmarcoantoniosotov
 
Tema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxTema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxdocmarcoantoniosotov
 
Tema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxTema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxdocmarcoantoniosotov
 
Tema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptxTema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptxdocmarcoantoniosotov
 
Tema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptxTema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptxdocmarcoantoniosotov
 
Taller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptxTaller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptxdocmarcoantoniosotov
 
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptDiapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptdocmarcoantoniosotov
 
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptDiapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptdocmarcoantoniosotov
 
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxPROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxdocmarcoantoniosotov
 
Tema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdfTema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdfdocmarcoantoniosotov
 

Más de docmarcoantoniosotov (20)

2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
 
unidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfunidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdf
 
Minimal Vintage - Marketing plantilla de estilo.pptx
Minimal Vintage  - Marketing plantilla de estilo.pptxMinimal Vintage  - Marketing plantilla de estilo.pptx
Minimal Vintage - Marketing plantilla de estilo.pptx
 
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptxBiologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptx
 
P5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptxP5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptx
 
P4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptxP4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptx
 
P3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxP3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptx
 
P2 Programacion orientada a objetos con Java.pptx
P2 Programacion orientada a objetos con Java.pptxP2 Programacion orientada a objetos con Java.pptx
P2 Programacion orientada a objetos con Java.pptx
 
P1 Programacion orientada a objetos con Java.pptx
P1 Programacion orientada a objetos con Java.pptxP1 Programacion orientada a objetos con Java.pptx
P1 Programacion orientada a objetos con Java.pptx
 
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdfTEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
 
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxTema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
 
Tema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxTema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptx
 
Tema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxTema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptx
 
Tema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptxTema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptx
 
Tema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptxTema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptx
 
Taller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptxTaller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptx
 
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptDiapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
 
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptDiapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
 
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxPROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
 
Tema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdfTema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdf
 

Último

TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Introduccion Programación Orientada a Objetos.ppt

  • 1. Programación Orientada a Objetos Isidro González Caballero (Universidad de Oviedo) Técnicas de Comp. en Física Santander, 08/11/2010
  • 2. Introducción  Los problemas suelen tener varias soluciones posibles.  En programación existen diversas metodologías que nos ayudan a enfrentar un problema.  Cada metodología tiene diversos lenguajes que las soportan. – Algunos lenguajes soportan varias metodologías. Metodología Lenguaje Estructurada Fortran, C, Pascal, Basic Orientada a objetos (OOP) C++, Java, Smalltalk Orientada a eventos VisualBasic
  • 3. Programación Orientada a Objetos Definición: La Programación Orientada a Objetos (OOP) es un método de programación en el cual los programas se organizan en colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son, todas ellas, miembros de una jerarquía de clases unidas mediante relaciones de herencia. Comentarios:  Usamos objetos en lugar de algoritmos como bloque fundamental  Cada objeto es una instancia de una clase  Las clases están relacionadas entre sí por relaciones tan complejas como la herencia
  • 4. Ventajas de la POO  Proximidad de los conceptos modelados respecto a objetos del mundo real  Facilita la reutilización de código – Y por tanto el mantenimiento del mismo  Se pueden usar conceptos comunes durante las fases de análisis, diseño e implementación  Disipa las barreras entre el qué y el cómo
  • 5. Desventajas de la POO  Mayor complejidad a la hora de entender el flujo de datos – Pérdida de linealidad  Requiere de un lenguaje de modelización de problemas más elaborado: – Unified Modelling Language (UML) – Representaciones gráficas más complicadas
  • 6. Conceptos de la OOP Conceptos básicos  Objeto  Clase Características de la OOP  Abstracción:  Encapsulamiento:  Modularidad:  Jerarquía Otros conceptos OOP  Tipos  Persistencia Tipos de relaciones  Asociación  Herencia  Agregación  Instanciación Representaciones gráficas  Diagramas estáticos (de clases, de objetos...)  Diagramas dinámicos (de interacción...)
  • 7. Objeto y Clase Un objeto es algo de lo que hablamos y que podemos manipular  Existen en el mundo real (o en nuestro entendimiento del mismo) Una clase describe los objetos del mismo tipo  Todos los objetos son instancias de una clase  Describe las propiedades y el comportamiento de un tipo de objetos Clase Atributos Operaciones Objeto:Clase Atributo1=valor Atributo2=valor ...
  • 8. Conceptos OOP: Abstracción  Nos permite trabajar con la complejidad del mundo real – Resaltando los aspectos relevantes de los objetos de una clase – Ocultando los detalles particulares de cada objeto  Separaremos el comportamiento de la implementación  Es más importante saber qué se hace en lugar de cómo se hace: Un sensor de temperatura – Se define porque...  mide la temperatura  nos muestra su valor  se puede calibrar... – No sabemos... (no nos importa)  cómo mide la temperatura  de qué está hecho  cómo se calibra
  • 9. Conceptos OOP: Abstracción  La abstracción no es única: Un coche puede ser... – Una cosa con ruedas, motor, volante y pedales (conductor) – Algo capaz de transportar personas (taxista) – Una caja que se mueve (simulador de tráfico) – Conjunto de piezas (fabricante)
  • 10. Conceptos OOP: Encapsulamiento  Ninguna parte de un sistema complejo debe depender de los detalles internos de otra.  Complementa a la abstracción  Se consigue: – Separando la interfaz de su implementación – Ocultando la información interna de un objeto – Escondiendo la estructura e implementación de los métodos (algoritmos). – Exponiendo solo la forma de interactuar con el objeto
  • 11. Conceptos OOP: Encapsulamiento Vemos que se puede...  Construir con: – 4 puntos (y restricciones) – 1 punto y 2 vectores – 1 punto, 1 vector, 1 ángulo y 1 lado  Transformaciones: – Escalado – Rotación – Desplazamiento  Dibujar No vemos...  Como está representado internamente – 4 puntos? – 1 punto y 2 vectores? – ...  Como se modifica su escala – Guardando el factor? – Escalando en el momento?  Idem para rotación, traslación, etc... Ejemplo: Un paralelogramo
  • 12. Conceptos OOP: Modularidad  Consiste en separar el sistema en bloques poco ligados entre sí: módulos. – Organización del código  Es una especie de encapsulamiento de más alto nivel. – El C++ no lo impone aunque lo soporta (namespace) – El Java es más formal (packages)  Difícil pero muy importante en sistemas grandes. – Suele aplicarse refinando el sistema en sucesivas iteraciones – Cada módulo debe definir una interfaz clara
  • 13. Conceptos OOP: Modularidad Ejemplo: Simulación detector de AAEE Puede dividirse en los siguientes módulos... 1. Geometría: Describe el detector físicamente (forma, materiales, tamaño) 2. Partículas: Las partículas cuyas interacciones nos interesan 3. Procesos: Aquí enlazamos la información del detector (materia) con las propiedades de las partículas. 4. ...  Podríamos dividir el módulo de procesos en procesos electromagnéticos, procesos hadrónicos, ...  Lo mismo podríamos hacerlo con las partículas: leptones, hadrones, ...
  • 14. Conceptos POO: Jerarquía  Es una clasificación u ordenamiento de las abstracciones  Hay dos jerarquías fundamentales: – Estructura de clases:  Jerarquía “es un/a”  Relaciones de herencia – Estructura de objetos:  Jerarquía “parte de”  Relaciones de agregación  Está implementada de manera genérica en la estructura de clases
  • 15. Conceptos OOP: Jerarquía  Una figura plana es: – Algo con una posición en el plano – Escalable – Rotable  Un gráfico es algo que se puede dibujar en 2D  Un diagrama es un conjunto de cuadrados y círculos Herencia simple  Un cuadrado es una figura  Un círculo es una figura Herencia múltiple es una figura es un gráfico Agregación Ejemplo: Figuras planas y diagramas
  • 16. Conceptos OOP: Tipo  Es el reforzamiento del concepto de clase  Objetos de tipo diferente no pueden ser intercambiados  El C++ y el Java son lenguajes fuertemente “tipeados”  Ayuda a corregir errores en tiempo de compilación – Mejor que en tiempo de ejecución
  • 17. Conceptos OOP: Persistencia  Propiedad de un objeto de trascender en el tiempo y en el espacio a su creador (programa que lo generó)  No se trata de almacenar sólo el estado de un objeto sino toda la clase (incluido su comportamiento)  No está directamente soportado por el C++ – Existen librerías y sistemas completos (OODBMS) que facilitan la tarea – Frameworks (entornos) como ROOT lo soportan parcialmente (reflex)  El concepto de serialización del Java está directamente relacionado con la persistencia
  • 18. Relaciones  Están presentes en cualquier sistema  Definen como se producen los intercambios de información y datos  También ayudan a comprender las propiedades de unas clases a partir de las propiedades de otras  Existen 4 tipos de relaciones: – Asociación – Herencia – Agregación – Instanciación
  • 19. Relación de Asociación  Relación más general  Denota una dependencia semántica  Es bidireccional  Primer paso para determinar una relación más compleja Ejemplo: Relación entre un producto y una venta. Cualquier venta está asociada a un producto, pero no es, ni forma parte de, ni posee ningún producto… al menos en una primera aproximación.  Cardinalidad: multiplicidad a cada lado – Uno a uno: Venta-Transacción – Uno a muchos: Producto-Venta – Muchos a muchos: Comprador-Vendedor
  • 20. Relación de Herencia  ¡Relación característica de la OOP!  Puede expresar tanto especialización como generalización  Evita definir repetidas veces las características comunes a varias clases  Una de las clases comparte la estructura y/o el comportamiento de otra(s) clase(s).  También se denomina relación “es un/a” (is a)
  • 21. Relación de Herencia (vocabulario)  Clase base o superclase: clase de la cual se hereda  Clase derivada o subclase: clase que hereda  Herencia simple: Hereda de una sola clase  Herencia múltiple: Hereda de varias clases – Java solo la soporta parcialmente – Presenta diversos problemas (¿qué hacer cuando se hereda más de una vez de la misma clase?)  Clase abstracta: La que no lleva, ni puede llevar, ningún objeto asociado  Polimorfismo: Posibilidad de usar indistintamente todos los objetos de un clase y derivadas.
  • 22. Relación de Herencia (ejemplo) Figura plana Triángulo Rectángulo Equilátero Escaleno Isósceles Cuadrado Polimorfismo Clase abstracta Superclase Subclase Herencia simple
  • 23. Relación de Agregación  Una clase contiene a otra clase – Ésta “es parte de” aquélla.  También se denomina relación “es parte de” (has a)  Una clase puede contener a otra: – Por valor: Cuando los objetos de la clase contenida se crean y destruyen al mismo tiempo que los de la clase continente – Por referencia: Cuando no necesariamente ocurre lo anterior
  • 24. Relación de Agregación Un coche está hecho de  Volante  Palanca de cambio  Motor  Ruedas Ruedas Volante Marchas Motor Coche
  • 25. Relación de Instanciación  En determinados casos una clase (p.ej. un vector) puede implementarse independientemente del tipo (real, complejo, color...) de alguno de sus atributos: – Definimos una clase parametrizada o template (plantilla) – Para cada uno de los tipos que necesitemos definimos una nueva clase  Instanciación Tipo Vector VectorEnteros <int> VectorColores <Color>
  • 26. Representaciones gráficas  Nos sirven para comunicarnos con otros usuarios o desarrolladores.  Documentan nuestro sistema  Hay múltiples vistas y tipos de diagramas: – Estáticos  Diagramas de clases  Los de los ejemplos  Diagramas de objetos  ... – Dinámicos:  Diagramas de estado: Muestra el ciclo de vida de los objetos, sistemas, etc...  Diagramas secuenciales: Muestra como los objetos interaccionan entre ellos  ...
  • 27. Diagrama de estado: Un ascensor En el primer piso Subiendo Bajando al primer piso Bajando Parado subir llegué llegué subir bajar time-out llegué
  • 28. Diagrama secuencial: Impresión Ordenador Impresora Cola Servidor Imprime (fichero) Imprime (fichero) [impr. Libre] Almacena (fichero) [impr. ocupada]