SlideShare una empresa de Scribd logo
Introducción a la
Programación.
Unidad III: Introducción a la
Programación Orientada a Objetos.
3.1 Elementos fundamentales de la programación orientada a objetos.
3.2 Representación gráfica (UML.)
Unidad III: Introducción a la
Programación Orientada a Objetos.
Objetivos:
Conocer la filosofía de las clases.
Unidad II: Introducción a la
Programación Orientada a Objetos
Bibliografía
C++ para Ingeniería y
Ciencia. Editorial
Cengage Learning
Editores S. A. de C. V.
Segunda edición. 2007.
Gary J. Bronson. Ficha
9a . Páginas 64 – 88.
Bibliografía
Fundamentos de
Programación con el
Lenguaje de Programación
C++. Dpto. Lenguajes y
CC. Computación E.T.S.I.
Informática. 2017. Vicente
Benjumea y Manuel
Roldán. Capítulo 13.
Páginas: 167 - 168.
Bibliografía
C++ / OOP. Un enfoque
práctico. Ricardo Devis
Botella. Capítulo 1.
Páginas: 7 – 10, 13 – 15,
17 – 20, 22 – 26.
Diagrama de clases.
En ingeniería de software, un diagrama de clases en Lenguaje Unificado
de Modelado (UML) es un tipo de diagrama de estructura estática que
describe la estructura de un sistema mostrando las clases del sistema,
sus atributos, operaciones (o métodos), y las relaciones entre los
objetos.
 Miembros: UML proporciona mecanismos para representar los
miembros de la clase, como atributos y métodos, así como
información adicional sobre ellos.
 Visibilidad: Para especificar la visibilidad de un miembro de la clase
(es decir, cualquier atributo o método), se coloca uno de los siguientes
signos delante de ese miembro
Diagrama de clases.
+ Público
- Privado
# Protegido
/ Derivado (se puede combinar con otro)
~ Paquete
Diagrama de clases.
El diagrama UML de clases está formado por los elementos: clases,
relaciones e interfaces.
Las clases son el elemento principal del diagrama y representa, como su
nombre indica, una clase dentro del paradigma de la orientación a
objetos. Este tipo de elementos normalmente se utilizan para representar
conceptos o entidades del “negocio”. Una clase define un grupo de
objetos que comparten características, condiciones y significado. La
manera más rápida para encontrar clases sobre un enunciado, sobre una
idea de negocio o, en general, sobre un tema concreto es buscar los
sustantivos que aparecen en el mismo. Por poner algún ejemplo, algunas
clases podrían ser: Animal, Persona, Mensaje, Expediente…
Diagrama de clases.
Es un concepto muy amplio y resulta fundamental identificar de forma
efectiva estas clases, en caso de no hacerlo correctamente se obtendrán
una serie de problemas en etapas posteriores, teniendo que volver a
hacer el análisis y perdiendo parte o todo el trabajo que se ha hecho
hasta ese momento.
Bajando de nivel una clase está compuesta por tres elementos: nombre
de la clase, atributos, funciones. Estos elementos se incluyen en la
representación (o no, dependiendo del nivel de análisis).
Diagrama de clases.
Para representar la clase con estos elementos se utiliza una caja que es
dividida en tres zonas utilizando para ello lineas horizontales:
La primera de las zonas se utiliza para el nombre de la clase. En caso de
que la clase sea abstracta se utilizará su nombre en cursiva.
La segunda de las zonas se utiliza para escribir los atributos de la clase,
uno por línea y utilizando el siguiente formato:
visibilidad nombre_atributo : tipo = valor-inicial { propiedades }
Aunque esta es la forma “oficial” de escribirlas, es común simplificando
únicamente poniendo el nombre y el tipo o únicamente el nombre.
La última de las zonas incluye cada una de las funciones que ofrece la
clase. De forma parecida a los atributos, sigue el siguiente formato:
Diagrama de clases.
Diagrama de clases.
Tanto los atributos como las funciones incluyen al principio de su
descripción la visibilidad que tendrá. Esta visibilidad se identifica
escribiendo un símbolo y podrá ser:
(+) Pública. Representa que se puede acceder al atributo o función
desde cualquier lugar de la aplicación.
(-) Privada. Representa que se puede acceder al atributo o función
únicamente desde la misma clase.
(#) Protegida. Representa que el atributo o función puede ser accedida
únicamente desde la misma clase o desde las clases que hereden de
ella (clases derivadas).
Pueden incluirse otros tipos de visibilidad, según el lenguaje de
programación que se esté usando. Por ejemplo: (/) Derivado o (~)
Paquete.
Diagrama de clases.
Diagrama de clases.
Las relaciones en el diagrama de clases tienen varias propiedades, que
dependiendo la profundidad que se quiera dar al diagrama se
representarán o no. Estas propiedades son las siguientes:
 Multiplicidad. Es decir, el número de elementos de una clase que
participan en una relación. Se puede indicar un número, un rango…
Se utiliza n o * para identificar un número cualquiera.
 Nombre de la asociación. En ocasiones se escriba una indicación de
la asociación que ayuda a entender la relación que tienen dos clases.
Suelen utilizarse verbos como por ejemplo: “Una empresa contrata a n
empleados”
Diagrama de clases.
Diagrama de clases.
Tipos de relaciones
Un diagrama de clases incluye los siguientes tipos de relaciones:
 Asociación.
 Agregación.
 Composición.
 Dependencia.
 Herencia.
Diagrama de clases.
Tipos de relaciones
Un diagrama de clases incluye los siguientes tipos de relaciones:
 Asociación.
 Agregación.
 Composición.
 Dependencia.
 Herencia.
Las relaciones de agregación se basan en
la idea de observar o entender un objeto
como una composición de otros objetos.
Desde nuestro punto de vista, las relaciones
de agregación se entenderán como relaciones
en las cuales una serie de clases aparecen
como tipos de los atributos de otra clase.
Diagrama de clases.
Tipos de relaciones
Un diagrama de clases incluye los siguientes tipos de relaciones:
 Asociación.
 Agregación.
 Composición.
 Dependencia.
 Herencia.
Estas relaciones se conocen también como
relaciones “todo - partes”. El “todo” está
representado por la clase que aglutina a
las otras clases, y las “partes” están dadas
por las diversas clases que aparecen.
Diagrama de clases.
Tipos de relaciones
Un diagrama de clases incluye los siguientes tipos de relaciones:
 Asociación.
 Agregación.
 Composición.
 Dependencia.
 Herencia.
La mejor forma de identificar si nos
encontramos ante una relación de agregación
es preguntarnos si la clase que queremos
definir “tiene un” (en Inglés, “has-a”) atributo
de la otra clase que estemos usando (de ahí
que en ciertas referencias se definan como
relaciones “has - a”).
Diagrama de clases.
Asociación
Este tipo de relación es el más común y se utiliza para representar
dependencia semántica. Se representa con una simple linea continua
que une las clases que están incluidas en la asociación.
Un ejemplo de asociación podría ser: “Una mascota pertenece a una
persona”.
Diagrama de clases.
Agregación
Es una representación jerárquica
que indica a un objeto y las partes
que componen ese objeto. Es
decir, representa relaciones en las
que un objeto es parte de otro,
pero aun así debe tener existencia
en sí mismo.
Se representa con una línea que
tiene un rombo en la parte de la
clase que es una agregación de la
otra clase (es decir, en la clase
que contiene las otras).
Diagrama de clases.
Agregación
Diagrama de clases.
Agregación
“CircunferenciaCentrada” es el resultado de la agregación de la clase
“Punto”, que permite representar el centro de la circunferencia, a la
clase “CircunferenciaCentrada”. De nuevo, se puede examinar la
validez de la relación entre ambas clases por medio del test: Una
“CircunferenciaCentrada” “tiene - un” atributo de tipo “Punto”. Además,
el diagrama de clases UML nos indica también cómo debemos
implementar posteriormente la relación de agregación que introduce.
En este caso, se hará por medio de un atributo de la clase “Punto”
dentro de la clase “CircunferenciaCentrada”.
Diagrama de clases.
Agregación
Diagrama de clases.
Agregación
“CircunferenciaCentrada” resultado de agregar un atributo de la clase
“Punto” y un atributo de la clase “Circunferencia”. Esta representación
no tiene por qué ser errónea, pero podemos observar como gran parte
de los métodos que hemos requerido de la clase
“CircunferenciaCentrada” se encuentran replicados en la clase
“Circunferencia”. Una representación más adecuada será considerar
la clase “CircunferenciaCentrada” como una clase que “tiene un”
Punto (relación de agregración) y que “es una” “Circunferencia”
(relación de herencia), lo cual permitirá acceder directamente a todos
los métodos de la clase “Circunferencia”.
Diagrama de clases.
Agregación
Un ordenador es el resultado de “agregar” una serie de componentes,
como un “CPU”, una “Pantalla”, un “Teclado” y un “Raton” (y quizá
algunos adicionales). De nuevo podemos aplicar el “test” de un objeto
de la clase “Odenador” “tiene – un” “CPU” y “tiene – una” “Pantalla”, y
“tiene – un” “Teclado” y “tiene – un” “Raton”.
Diagrama de clases.
Composición
La composición es similar a la agregación, representa una relación
jerárquica entre un objeto y las partes que lo componen, pero de una
forma más fuerte. En este caso, los elementos que forman parte no
tienen sentido de existencia cuando el primero no existe. Es decir,
cuando el elemento que contiene los otros desaparece, deben
desaparecer todos ya que no tienen sentido por sí mismos sino que
dependen del elemento que componen. Además, suelen tener los
mismos tiempo de vida. Los componentes no se comparten entre varios
elementos, esta es otra de las diferencias con la agregación. Se
representa con una linea continua con un rombo relleno en la clase que
es compuesta. Un ejemplo de esta relación sería: “Un vuelo de una
compañía aerea está compuesto por pasajeros, que es lo mismo que
decir que un pasajero está asignado a un vuelo”
Diagrama de clases.
Diagrama de clases.
La diferencia entre agregación y composición es semántica, por lo que
a veces no está del todo definida. Ninguna de las dos tienen análogos
en muchos lenguajes de programación (como por ejemplo Java).
Un “agregado” representa un todo que comprende varias partes; de
esta manera, un Comité es un agregado de sus Miembros. Una reunión
es un agregado de una agenda, una sala y los asistentes. En el
momento de la implementación, esta relación no es de contención. (Una
reunión no contiene una sala). Del mismo modo, las partes del
agregado podrían estar haciendo otras cosas en otras partes del
programa, por lo que podrían ser referenciadas por varios objetos que
nada tienen que ver.
Diagrama de clases.
En otras palabras, no existe una diferencia de nivel de implementación
entre la agregación y una simple relación de “usos”. En ambos casos,
un objeto tiene referencias a otros objetos. Aunque no existe una
diferencia en la implementación, definitivamente vale la pena capturar la
relación en el diagrama UML, tanto porque ayuda a comprender mejor
el modelo de dominio, como porque puede haber problemas de
implementación que pueden pasar desapercibidos. Podría permitir
relaciones de acoplamiento más estrictas en una agregación de lo que
haría con un simple “uso”, por ejemplo.
Diagrama de clases.
La composición, por otro lado, implica un acoplamiento aún más estricto
que la agregación, y definitivamente implica la contención. El requisito
básico es que, si una clase de objetos (llamado “contenedor”) se
compone de otros objetos (llamados “elementos”), entonces los
elementos aparecerán y también serán destruidos como un efecto
secundario de crear o destruir el contenedor. Sería raro que un
elemento no se declare como privado. Un ejemplo podría ser el nombre
y la dirección del Cliente. Un cliente sin nombre o dirección no tiene
valor. Por la misma razón, cuando se destruye al cliente, no tiene
sentido mantener el nombre y la dirección. (Compare esta situación con
la agregación, donde destruir al Comité no debe causar la destrucción
de los miembros, ya que pueden ser miembros de otros Comités).
Diagrama de clases.
En la composición (o también agregación fuerte), los objetos agregados
no tienen sentido fuera del objeto resultante. También se puede
entender la composición como una relación en la que, los objetos
siendo agregados, deben dejar de existir cuando lo hace el objeto
compuesto.
Otro ejemplo, que podemos considerar de composición es la relación
que existe entre un libro y sus páginas.
Diagrama de clases.
Dependencia
Se utiliza este tipo de relación
para representar que una
clase requiere de otra para
ofrecer sus funcionalidades.
Es muy sencilla y se
representa con una flecha
discontinua que va desde la
clase que necesita la utilidad
de la otra flecha hasta esta
misma.
Un ejemplo de esta relación
podría ser la siguiente:
Diagrama de clases.
Herencia
Otra relación muy común en el
diagrama de clases es la herencia.
Este tipo de relaciones permiten que
una clase (clase hija o subclase)
reciba los atributos y métodos de
otra clase (clase padre o
superclase). Estos atributos y
métodos recibidos se suman a los
que la clase tiene por sí misma. Se
utiliza en relaciones “es un”. Un
ejemplo de esta relación podría ser
la siguiente: Un pez, un perro y un
gato son animales.
Diagrama de clases.
Relaciones
Una relación es un término general que abarca los tipos específicos de
conexiones lógicas que se pueden encontrar en los diagramas de clases
y objetos. UML presenta las siguientes relaciones:
Diagrama de clases.
Asociación
Una asociación binaria (entre dos clases) normalmente se representa
con una línea continua. Una misma asociación puede relacionar
cualquier número de clases. Una asociación que relacione tres clases se
llama asociación ternaria.
A una asociación se le puede asignar un nombre, y en sus extremos se
puede hacer indicaciones, como el rol que desempeña la asociación, los
nombres de las clases relacionadas, su multiplicidad, su visibilidad, y
otras propiedades.
Hay cuatro tipos diferentes de asociación: bidireccional, unidireccional,
agregación (en la que se incluye la composición) y reflexiva. Las
asociaciones unidireccional y bidireccional son las más comunes.
Diagrama de clases.
Por ejemplo, una clase vuelo se asocia con una clase avión de forma
bidireccional. La asociación representa la relación estática que
comparten los objetos de ambas clases.
Diagrama de clases.
Agregación
La agregación o agrupación es una variante de la relación de asociación
“tiene un”: la agregación es más específica que la asociación. Se trata de
una asociación que representa una relación de tipo parte-todo o parte-
de.
Diagrama de clases.
Agregación
En el ejemplo, un Profesor 'tiene una' clase a la que enseña. Al ser un
tipo de asociación, una agregación puede tener un nombre y las mismas
indicaciones en los extremos de la línea. Pero, una agregación no puede
incluir más de dos clases; debe ser una asociación binaria. Se puede dar
cuando una clase es una colección o un contenedor de otras clases,
pero a su vez, el tiempo de vida de las clases contenidas no tienen una
dependencia fuerte del tiempo de vida de la clase contenedora (de el
todo). El contenido de la clase contenedora no se destruye
automáticamente cuando desaparece dicha clase. Todo este conjunto es,
semánticamente, un objeto extendido que es tratado como una única
unidad en muchas operaciones, aunque físicamente está hecho de
varios objetos más pequeños.
Diagrama de clases.
Composición
El almacén esta compuesto de
cuentas, si se elimina el
almacén las cuentas por si
solas no tienen sentido como
una entidad separada del
almacén y se eliminan también.
El rombo sin rellenar muestra
una relación de agregación: el
almacén tiene clientes, si el
almacén cierra los clientes irán
a otro, su razón de existir sigue
teniendo sentido sin el almacén.
Diagrama de clases.
Composición
La representación en UML de una relación de composición es mostrada
con una figura de diamante rellenado del lado del la clase contenedora,
es decir al final de la linea que conecta la clase contenido con la clase
contenedor.
Diagrama de clases.
Diferencias entre Composición y Agregación
 Relación de Composición
 Relación de Agregación (o Agrupación)
Diagrama de clases.
Diferencias entre Composición y Agregación
 Relación de Composición
1. Cuando intentamos representar un todo y sus partes. Ejemplo, un
motor es una parte de un coche.
2. Cuando se elimina el contenedor, el contenido también es eliminado.
Ejemplo, si eliminamos una universidad eliminamos igualmente sus
departamentos.
 Relación de Agregación (o Agrupación)
Diagrama de clases.
Diferencias entre Composición y Agregación
 Relación de Composición
 Relación de Agregación (o Agrupación)
Ejemplo, el modelo de motor MTR01 es parte del coche MC01. Como tal,
el motor MTR01 puede hacer parte de cualquier otro modelo de coche,
es decir si eliminamos el coche MC01 no es necesario eliminar el motor
pues podemos usarlo en otro modelo.
Cuando el contenedor es eliminado, el contenido usualmente no es
destruido. Ejemplo, un profesor tiene estudiantes, cuando el profesor
muere los estudiantes no mueren con él o ella.
Así, una relación de agregación es a menudo "clasificar" o "catalogar"
contenido para distinguirlo del todo "físico" del contenedor.
Diagrama de clases. Caso de Estudio: Cinemas
Usted ha sido invitado a liderar el análisis y diseño orientado a objetos
del sistema, que una empresa requiere para administrar todo lo referente
al manejo de una taquilla de un cinema. Haciendo una analogía, el
sistema que se debe desarrollar es similar al sistema de Cine Paisito,
con algunas modificaciones que se describen a continuación. A nuestro
sistema le llamaremos MOVIESOFT.
El usuario le ha dicho que diariamente se proyectan películas en
diferentes centros llamados multiplex (que tienen un conjunto de salas), y
en diferentes horarios. Una película puede estar en diferentes salas en
un mismo multiplex. Una película proyectada debe almacenar toda la
información referente a sí misma como es: el director, la duración, el
idioma, un resumen, y otros datos básicos.
Diagrama de clases. Caso de Estudio: Cinemas
Las salas almacenan entre sus datos, la información de la capacidad de
ocupación. Es importante distinguir que puede exista en una sala
diferentes tipos de localidades, (ejemplo, general, preferencial, cinebar,
fumador, sin que estos sean los únicos tipos posibles.) El sistema debe
permitir realizar reservas de boletas para entrar a ver cualquier película.
Para esto, los clientes deben estar registrados ya que por seguridad un
cliente no puede usar una tarjeta de crédito que no esté registrada. Un
cliente registrado puede realizar reservas que serán cargadas
inmediatamente a su cuenta. Las reservas pueden ser máximo para 5
boletas. Cada sala de un multiplex, en cada una de sus localidades
puede manejar un precio de boleta diferente. El precio de las reservas
depende del precio que maneje cada sala en su localidad, y se
incrementa un valor determinado (cien córdobas) si la reserva se hace
por teléfono. Si la reserva es por Internet, el precio no se incrementa.
Diagrama de clases. Caso de Estudio: Cinemas
El sistema debe permitir realizar descuentos en compras al interior de los
multiplex. Ya que dentro de los multiplex el cliente puede adquirir comida,
y artículos de recuerdo de las películas proyectadas, el sistema debe
permitir registrar las compras de los clientes registrados y ofrecer un
descuento.
La venta de boletas en taquilla funciona de manera muy sencilla. Un
cliente se acerca a una taquilla y puede comprar
boletas para cualquier sala de cualquier multiplex en la misma ciudad. El
sistema debe controlar toda la información de las boletas vendidas para
cada película, cada sala, cada multiplex y cada localidad.
Diagrama de clases. Caso de Estudio: Cinemas
En esta primera definición de requerimientos del cliente, le ha dicho que
el sistema debe trabajar en una red que interconecte todos sus multiplex
a lo largo del país. Por ejemplo, una persona en San Carlos puede saber
exactamente las películas que se proyectan en Catarina, y hacer las
reservas que requiera. Para eso, el sistema de reservas debe trabajar
centralizado y con un sistema de seguridad que opere 7x24 (toda la
semana, todo el tiempo.)
La información debe centralizarse en una base de datos que maneja una
copia de seguridad local, y una remota. Cada multiplex maneja una base
de datos local donde almacena la información propia. Esto lo hace ya
que aunque todo el sistema debe funcionar como uno solo, cada
multiplex es una franquicia que se puede otorgar a una persona
diferente.
Diagrama de clases. Caso de Estudio: Cinemas

Más contenido relacionado

La actualidad más candente

Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
Adal Dg
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
josebrandon24
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
cprogrammings
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
Alejandra Esther Torres de Abreu
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
Gloria Isabel Bautista Lasprilla
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
desimartinez
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
José Antonio Sandoval Acosta
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
grachika
 
TUTORIAL PARA REALIZAR UN PSEUDOCODIGO
TUTORIAL PARA REALIZAR UN PSEUDOCODIGOTUTORIAL PARA REALIZAR UN PSEUDOCODIGO
TUTORIAL PARA REALIZAR UN PSEUDOCODIGO
AlfaBVB98
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
Ricardo De León Contreras
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
ricardomore94
 
Herencia
HerenciaHerencia
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
franciscocain
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
Juan Rodríguez
 
Mapaconceptual.u.m.l.
Mapaconceptual.u.m.l.Mapaconceptual.u.m.l.
Mapaconceptual.u.m.l.
audelina perez
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
boncastell
 
Modelo conceptual
Modelo conceptual Modelo conceptual
Modelo conceptual
Claü Vides
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
José Antonio Sandoval Acosta
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Consultor Independiente
 

La actualidad más candente (20)

Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
 
TUTORIAL PARA REALIZAR UN PSEUDOCODIGO
TUTORIAL PARA REALIZAR UN PSEUDOCODIGOTUTORIAL PARA REALIZAR UN PSEUDOCODIGO
TUTORIAL PARA REALIZAR UN PSEUDOCODIGO
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Herencia
HerenciaHerencia
Herencia
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Mapaconceptual.u.m.l.
Mapaconceptual.u.m.l.Mapaconceptual.u.m.l.
Mapaconceptual.u.m.l.
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Modelo conceptual
Modelo conceptual Modelo conceptual
Modelo conceptual
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 

Similar a Introducción a la progrogramación orientada a objetos - UML

Clases 2
Clases 2Clases 2
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
Alvaro Vargas
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
mabelcefla5
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
juan gonzalez
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptx
CAMILORUALES1
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
Giovanni Mézquita Hoyos
 
Diseño oo
Diseño ooDiseño oo
Diseño oo
William Caceres
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
Isaac Astorga
 
UT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdfUT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdf
AntonioJesusGalianoS
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
Universidad Fermín Toro
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
josue salas
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
William Lozano
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
Jennyfer Velazco Hernandez
 
D clase
D claseD clase
D clase
juan ayala
 
CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS
paolitaliz
 
Poo
PooPoo
Poo
PooPoo
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
pacosayas
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
innovalabcun
 
clases
clasesclases

Similar a Introducción a la progrogramación orientada a objetos - UML (20)

Clases 2
Clases 2Clases 2
Clases 2
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptx
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
Diseño oo
Diseño ooDiseño oo
Diseño oo
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
UT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdfUT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdf
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
D clase
D claseD clase
D clase
 
CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS
 
Poo
PooPoo
Poo
 
Poo
PooPoo
Poo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
clases
clasesclases
clases
 

Más de Facultad de Ciencias y Sistemas

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
CSS3
CSS3CSS3
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
Facultad de Ciencias y Sistemas
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
Facultad de Ciencias y Sistemas
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
Facultad de Ciencias y Sistemas
 
06 clases-en-c
06 clases-en-c06 clases-en-c
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
Facultad de Ciencias y Sistemas
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
Facultad de Ciencias y Sistemas
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
Facultad de Ciencias y Sistemas
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
Facultad de Ciencias y Sistemas
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
Facultad de Ciencias y Sistemas
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
Facultad de Ciencias y Sistemas
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
Facultad de Ciencias y Sistemas
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
Facultad de Ciencias y Sistemas
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
Facultad de Ciencias y Sistemas
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
Facultad de Ciencias y Sistemas
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
Facultad de Ciencias y Sistemas
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
Facultad de Ciencias y Sistemas
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
Facultad de Ciencias y Sistemas
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
Facultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CARMENSnchez854591
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTREACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ssuserbbe638
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
Demetrio Ccesa Rayme
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 

Último (20)

Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTREACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 

Introducción a la progrogramación orientada a objetos - UML

  • 1. Introducción a la Programación. Unidad III: Introducción a la Programación Orientada a Objetos.
  • 2. 3.1 Elementos fundamentales de la programación orientada a objetos. 3.2 Representación gráfica (UML.) Unidad III: Introducción a la Programación Orientada a Objetos.
  • 3. Objetivos: Conocer la filosofía de las clases. Unidad II: Introducción a la Programación Orientada a Objetos
  • 4. Bibliografía C++ para Ingeniería y Ciencia. Editorial Cengage Learning Editores S. A. de C. V. Segunda edición. 2007. Gary J. Bronson. Ficha 9a . Páginas 64 – 88.
  • 5. Bibliografía Fundamentos de Programación con el Lenguaje de Programación C++. Dpto. Lenguajes y CC. Computación E.T.S.I. Informática. 2017. Vicente Benjumea y Manuel Roldán. Capítulo 13. Páginas: 167 - 168.
  • 6. Bibliografía C++ / OOP. Un enfoque práctico. Ricardo Devis Botella. Capítulo 1. Páginas: 7 – 10, 13 – 15, 17 – 20, 22 – 26.
  • 7. Diagrama de clases. En ingeniería de software, un diagrama de clases en Lenguaje Unificado de Modelado (UML) es un tipo de diagrama de estructura estática que describe la estructura de un sistema mostrando las clases del sistema, sus atributos, operaciones (o métodos), y las relaciones entre los objetos.  Miembros: UML proporciona mecanismos para representar los miembros de la clase, como atributos y métodos, así como información adicional sobre ellos.  Visibilidad: Para especificar la visibilidad de un miembro de la clase (es decir, cualquier atributo o método), se coloca uno de los siguientes signos delante de ese miembro
  • 8. Diagrama de clases. + Público - Privado # Protegido / Derivado (se puede combinar con otro) ~ Paquete
  • 9. Diagrama de clases. El diagrama UML de clases está formado por los elementos: clases, relaciones e interfaces. Las clases son el elemento principal del diagrama y representa, como su nombre indica, una clase dentro del paradigma de la orientación a objetos. Este tipo de elementos normalmente se utilizan para representar conceptos o entidades del “negocio”. Una clase define un grupo de objetos que comparten características, condiciones y significado. La manera más rápida para encontrar clases sobre un enunciado, sobre una idea de negocio o, en general, sobre un tema concreto es buscar los sustantivos que aparecen en el mismo. Por poner algún ejemplo, algunas clases podrían ser: Animal, Persona, Mensaje, Expediente…
  • 10. Diagrama de clases. Es un concepto muy amplio y resulta fundamental identificar de forma efectiva estas clases, en caso de no hacerlo correctamente se obtendrán una serie de problemas en etapas posteriores, teniendo que volver a hacer el análisis y perdiendo parte o todo el trabajo que se ha hecho hasta ese momento. Bajando de nivel una clase está compuesta por tres elementos: nombre de la clase, atributos, funciones. Estos elementos se incluyen en la representación (o no, dependiendo del nivel de análisis).
  • 11. Diagrama de clases. Para representar la clase con estos elementos se utiliza una caja que es dividida en tres zonas utilizando para ello lineas horizontales: La primera de las zonas se utiliza para el nombre de la clase. En caso de que la clase sea abstracta se utilizará su nombre en cursiva. La segunda de las zonas se utiliza para escribir los atributos de la clase, uno por línea y utilizando el siguiente formato: visibilidad nombre_atributo : tipo = valor-inicial { propiedades } Aunque esta es la forma “oficial” de escribirlas, es común simplificando únicamente poniendo el nombre y el tipo o únicamente el nombre. La última de las zonas incluye cada una de las funciones que ofrece la clase. De forma parecida a los atributos, sigue el siguiente formato:
  • 13. Diagrama de clases. Tanto los atributos como las funciones incluyen al principio de su descripción la visibilidad que tendrá. Esta visibilidad se identifica escribiendo un símbolo y podrá ser: (+) Pública. Representa que se puede acceder al atributo o función desde cualquier lugar de la aplicación. (-) Privada. Representa que se puede acceder al atributo o función únicamente desde la misma clase. (#) Protegida. Representa que el atributo o función puede ser accedida únicamente desde la misma clase o desde las clases que hereden de ella (clases derivadas). Pueden incluirse otros tipos de visibilidad, según el lenguaje de programación que se esté usando. Por ejemplo: (/) Derivado o (~) Paquete.
  • 15. Diagrama de clases. Las relaciones en el diagrama de clases tienen varias propiedades, que dependiendo la profundidad que se quiera dar al diagrama se representarán o no. Estas propiedades son las siguientes:  Multiplicidad. Es decir, el número de elementos de una clase que participan en una relación. Se puede indicar un número, un rango… Se utiliza n o * para identificar un número cualquiera.  Nombre de la asociación. En ocasiones se escriba una indicación de la asociación que ayuda a entender la relación que tienen dos clases. Suelen utilizarse verbos como por ejemplo: “Una empresa contrata a n empleados”
  • 17. Diagrama de clases. Tipos de relaciones Un diagrama de clases incluye los siguientes tipos de relaciones:  Asociación.  Agregación.  Composición.  Dependencia.  Herencia.
  • 18. Diagrama de clases. Tipos de relaciones Un diagrama de clases incluye los siguientes tipos de relaciones:  Asociación.  Agregación.  Composición.  Dependencia.  Herencia. Las relaciones de agregación se basan en la idea de observar o entender un objeto como una composición de otros objetos. Desde nuestro punto de vista, las relaciones de agregación se entenderán como relaciones en las cuales una serie de clases aparecen como tipos de los atributos de otra clase.
  • 19. Diagrama de clases. Tipos de relaciones Un diagrama de clases incluye los siguientes tipos de relaciones:  Asociación.  Agregación.  Composición.  Dependencia.  Herencia. Estas relaciones se conocen también como relaciones “todo - partes”. El “todo” está representado por la clase que aglutina a las otras clases, y las “partes” están dadas por las diversas clases que aparecen.
  • 20. Diagrama de clases. Tipos de relaciones Un diagrama de clases incluye los siguientes tipos de relaciones:  Asociación.  Agregación.  Composición.  Dependencia.  Herencia. La mejor forma de identificar si nos encontramos ante una relación de agregación es preguntarnos si la clase que queremos definir “tiene un” (en Inglés, “has-a”) atributo de la otra clase que estemos usando (de ahí que en ciertas referencias se definan como relaciones “has - a”).
  • 21. Diagrama de clases. Asociación Este tipo de relación es el más común y se utiliza para representar dependencia semántica. Se representa con una simple linea continua que une las clases que están incluidas en la asociación. Un ejemplo de asociación podría ser: “Una mascota pertenece a una persona”.
  • 22. Diagrama de clases. Agregación Es una representación jerárquica que indica a un objeto y las partes que componen ese objeto. Es decir, representa relaciones en las que un objeto es parte de otro, pero aun así debe tener existencia en sí mismo. Se representa con una línea que tiene un rombo en la parte de la clase que es una agregación de la otra clase (es decir, en la clase que contiene las otras).
  • 24. Diagrama de clases. Agregación “CircunferenciaCentrada” es el resultado de la agregación de la clase “Punto”, que permite representar el centro de la circunferencia, a la clase “CircunferenciaCentrada”. De nuevo, se puede examinar la validez de la relación entre ambas clases por medio del test: Una “CircunferenciaCentrada” “tiene - un” atributo de tipo “Punto”. Además, el diagrama de clases UML nos indica también cómo debemos implementar posteriormente la relación de agregación que introduce. En este caso, se hará por medio de un atributo de la clase “Punto” dentro de la clase “CircunferenciaCentrada”.
  • 26. Diagrama de clases. Agregación “CircunferenciaCentrada” resultado de agregar un atributo de la clase “Punto” y un atributo de la clase “Circunferencia”. Esta representación no tiene por qué ser errónea, pero podemos observar como gran parte de los métodos que hemos requerido de la clase “CircunferenciaCentrada” se encuentran replicados en la clase “Circunferencia”. Una representación más adecuada será considerar la clase “CircunferenciaCentrada” como una clase que “tiene un” Punto (relación de agregración) y que “es una” “Circunferencia” (relación de herencia), lo cual permitirá acceder directamente a todos los métodos de la clase “Circunferencia”.
  • 27. Diagrama de clases. Agregación Un ordenador es el resultado de “agregar” una serie de componentes, como un “CPU”, una “Pantalla”, un “Teclado” y un “Raton” (y quizá algunos adicionales). De nuevo podemos aplicar el “test” de un objeto de la clase “Odenador” “tiene – un” “CPU” y “tiene – una” “Pantalla”, y “tiene – un” “Teclado” y “tiene – un” “Raton”.
  • 28. Diagrama de clases. Composición La composición es similar a la agregación, representa una relación jerárquica entre un objeto y las partes que lo componen, pero de una forma más fuerte. En este caso, los elementos que forman parte no tienen sentido de existencia cuando el primero no existe. Es decir, cuando el elemento que contiene los otros desaparece, deben desaparecer todos ya que no tienen sentido por sí mismos sino que dependen del elemento que componen. Además, suelen tener los mismos tiempo de vida. Los componentes no se comparten entre varios elementos, esta es otra de las diferencias con la agregación. Se representa con una linea continua con un rombo relleno en la clase que es compuesta. Un ejemplo de esta relación sería: “Un vuelo de una compañía aerea está compuesto por pasajeros, que es lo mismo que decir que un pasajero está asignado a un vuelo”
  • 30. Diagrama de clases. La diferencia entre agregación y composición es semántica, por lo que a veces no está del todo definida. Ninguna de las dos tienen análogos en muchos lenguajes de programación (como por ejemplo Java). Un “agregado” representa un todo que comprende varias partes; de esta manera, un Comité es un agregado de sus Miembros. Una reunión es un agregado de una agenda, una sala y los asistentes. En el momento de la implementación, esta relación no es de contención. (Una reunión no contiene una sala). Del mismo modo, las partes del agregado podrían estar haciendo otras cosas en otras partes del programa, por lo que podrían ser referenciadas por varios objetos que nada tienen que ver.
  • 31. Diagrama de clases. En otras palabras, no existe una diferencia de nivel de implementación entre la agregación y una simple relación de “usos”. En ambos casos, un objeto tiene referencias a otros objetos. Aunque no existe una diferencia en la implementación, definitivamente vale la pena capturar la relación en el diagrama UML, tanto porque ayuda a comprender mejor el modelo de dominio, como porque puede haber problemas de implementación que pueden pasar desapercibidos. Podría permitir relaciones de acoplamiento más estrictas en una agregación de lo que haría con un simple “uso”, por ejemplo.
  • 32. Diagrama de clases. La composición, por otro lado, implica un acoplamiento aún más estricto que la agregación, y definitivamente implica la contención. El requisito básico es que, si una clase de objetos (llamado “contenedor”) se compone de otros objetos (llamados “elementos”), entonces los elementos aparecerán y también serán destruidos como un efecto secundario de crear o destruir el contenedor. Sería raro que un elemento no se declare como privado. Un ejemplo podría ser el nombre y la dirección del Cliente. Un cliente sin nombre o dirección no tiene valor. Por la misma razón, cuando se destruye al cliente, no tiene sentido mantener el nombre y la dirección. (Compare esta situación con la agregación, donde destruir al Comité no debe causar la destrucción de los miembros, ya que pueden ser miembros de otros Comités).
  • 33. Diagrama de clases. En la composición (o también agregación fuerte), los objetos agregados no tienen sentido fuera del objeto resultante. También se puede entender la composición como una relación en la que, los objetos siendo agregados, deben dejar de existir cuando lo hace el objeto compuesto. Otro ejemplo, que podemos considerar de composición es la relación que existe entre un libro y sus páginas.
  • 34. Diagrama de clases. Dependencia Se utiliza este tipo de relación para representar que una clase requiere de otra para ofrecer sus funcionalidades. Es muy sencilla y se representa con una flecha discontinua que va desde la clase que necesita la utilidad de la otra flecha hasta esta misma. Un ejemplo de esta relación podría ser la siguiente:
  • 35. Diagrama de clases. Herencia Otra relación muy común en el diagrama de clases es la herencia. Este tipo de relaciones permiten que una clase (clase hija o subclase) reciba los atributos y métodos de otra clase (clase padre o superclase). Estos atributos y métodos recibidos se suman a los que la clase tiene por sí misma. Se utiliza en relaciones “es un”. Un ejemplo de esta relación podría ser la siguiente: Un pez, un perro y un gato son animales.
  • 36.
  • 37.
  • 38.
  • 39. Diagrama de clases. Relaciones Una relación es un término general que abarca los tipos específicos de conexiones lógicas que se pueden encontrar en los diagramas de clases y objetos. UML presenta las siguientes relaciones:
  • 40. Diagrama de clases. Asociación Una asociación binaria (entre dos clases) normalmente se representa con una línea continua. Una misma asociación puede relacionar cualquier número de clases. Una asociación que relacione tres clases se llama asociación ternaria. A una asociación se le puede asignar un nombre, y en sus extremos se puede hacer indicaciones, como el rol que desempeña la asociación, los nombres de las clases relacionadas, su multiplicidad, su visibilidad, y otras propiedades. Hay cuatro tipos diferentes de asociación: bidireccional, unidireccional, agregación (en la que se incluye la composición) y reflexiva. Las asociaciones unidireccional y bidireccional son las más comunes.
  • 41. Diagrama de clases. Por ejemplo, una clase vuelo se asocia con una clase avión de forma bidireccional. La asociación representa la relación estática que comparten los objetos de ambas clases.
  • 42. Diagrama de clases. Agregación La agregación o agrupación es una variante de la relación de asociación “tiene un”: la agregación es más específica que la asociación. Se trata de una asociación que representa una relación de tipo parte-todo o parte- de.
  • 43. Diagrama de clases. Agregación En el ejemplo, un Profesor 'tiene una' clase a la que enseña. Al ser un tipo de asociación, una agregación puede tener un nombre y las mismas indicaciones en los extremos de la línea. Pero, una agregación no puede incluir más de dos clases; debe ser una asociación binaria. Se puede dar cuando una clase es una colección o un contenedor de otras clases, pero a su vez, el tiempo de vida de las clases contenidas no tienen una dependencia fuerte del tiempo de vida de la clase contenedora (de el todo). El contenido de la clase contenedora no se destruye automáticamente cuando desaparece dicha clase. Todo este conjunto es, semánticamente, un objeto extendido que es tratado como una única unidad en muchas operaciones, aunque físicamente está hecho de varios objetos más pequeños.
  • 44. Diagrama de clases. Composición El almacén esta compuesto de cuentas, si se elimina el almacén las cuentas por si solas no tienen sentido como una entidad separada del almacén y se eliminan también. El rombo sin rellenar muestra una relación de agregación: el almacén tiene clientes, si el almacén cierra los clientes irán a otro, su razón de existir sigue teniendo sentido sin el almacén.
  • 45. Diagrama de clases. Composición La representación en UML de una relación de composición es mostrada con una figura de diamante rellenado del lado del la clase contenedora, es decir al final de la linea que conecta la clase contenido con la clase contenedor.
  • 46. Diagrama de clases. Diferencias entre Composición y Agregación  Relación de Composición  Relación de Agregación (o Agrupación)
  • 47. Diagrama de clases. Diferencias entre Composición y Agregación  Relación de Composición 1. Cuando intentamos representar un todo y sus partes. Ejemplo, un motor es una parte de un coche. 2. Cuando se elimina el contenedor, el contenido también es eliminado. Ejemplo, si eliminamos una universidad eliminamos igualmente sus departamentos.  Relación de Agregación (o Agrupación)
  • 48. Diagrama de clases. Diferencias entre Composición y Agregación  Relación de Composición  Relación de Agregación (o Agrupación) Ejemplo, el modelo de motor MTR01 es parte del coche MC01. Como tal, el motor MTR01 puede hacer parte de cualquier otro modelo de coche, es decir si eliminamos el coche MC01 no es necesario eliminar el motor pues podemos usarlo en otro modelo. Cuando el contenedor es eliminado, el contenido usualmente no es destruido. Ejemplo, un profesor tiene estudiantes, cuando el profesor muere los estudiantes no mueren con él o ella. Así, una relación de agregación es a menudo "clasificar" o "catalogar" contenido para distinguirlo del todo "físico" del contenedor.
  • 49. Diagrama de clases. Caso de Estudio: Cinemas Usted ha sido invitado a liderar el análisis y diseño orientado a objetos del sistema, que una empresa requiere para administrar todo lo referente al manejo de una taquilla de un cinema. Haciendo una analogía, el sistema que se debe desarrollar es similar al sistema de Cine Paisito, con algunas modificaciones que se describen a continuación. A nuestro sistema le llamaremos MOVIESOFT. El usuario le ha dicho que diariamente se proyectan películas en diferentes centros llamados multiplex (que tienen un conjunto de salas), y en diferentes horarios. Una película puede estar en diferentes salas en un mismo multiplex. Una película proyectada debe almacenar toda la información referente a sí misma como es: el director, la duración, el idioma, un resumen, y otros datos básicos.
  • 50. Diagrama de clases. Caso de Estudio: Cinemas Las salas almacenan entre sus datos, la información de la capacidad de ocupación. Es importante distinguir que puede exista en una sala diferentes tipos de localidades, (ejemplo, general, preferencial, cinebar, fumador, sin que estos sean los únicos tipos posibles.) El sistema debe permitir realizar reservas de boletas para entrar a ver cualquier película. Para esto, los clientes deben estar registrados ya que por seguridad un cliente no puede usar una tarjeta de crédito que no esté registrada. Un cliente registrado puede realizar reservas que serán cargadas inmediatamente a su cuenta. Las reservas pueden ser máximo para 5 boletas. Cada sala de un multiplex, en cada una de sus localidades puede manejar un precio de boleta diferente. El precio de las reservas depende del precio que maneje cada sala en su localidad, y se incrementa un valor determinado (cien córdobas) si la reserva se hace por teléfono. Si la reserva es por Internet, el precio no se incrementa.
  • 51. Diagrama de clases. Caso de Estudio: Cinemas El sistema debe permitir realizar descuentos en compras al interior de los multiplex. Ya que dentro de los multiplex el cliente puede adquirir comida, y artículos de recuerdo de las películas proyectadas, el sistema debe permitir registrar las compras de los clientes registrados y ofrecer un descuento. La venta de boletas en taquilla funciona de manera muy sencilla. Un cliente se acerca a una taquilla y puede comprar boletas para cualquier sala de cualquier multiplex en la misma ciudad. El sistema debe controlar toda la información de las boletas vendidas para cada película, cada sala, cada multiplex y cada localidad.
  • 52. Diagrama de clases. Caso de Estudio: Cinemas En esta primera definición de requerimientos del cliente, le ha dicho que el sistema debe trabajar en una red que interconecte todos sus multiplex a lo largo del país. Por ejemplo, una persona en San Carlos puede saber exactamente las películas que se proyectan en Catarina, y hacer las reservas que requiera. Para eso, el sistema de reservas debe trabajar centralizado y con un sistema de seguridad que opere 7x24 (toda la semana, todo el tiempo.) La información debe centralizarse en una base de datos que maneja una copia de seguridad local, y una remota. Cada multiplex maneja una base de datos local donde almacena la información propia. Esto lo hace ya que aunque todo el sistema debe funcionar como uno solo, cada multiplex es una franquicia que se puede otorgar a una persona diferente.
  • 53. Diagrama de clases. Caso de Estudio: Cinemas