Tutorial - Diagrama de Clases UML

Lucid Software Español
4 Feb 201911:41

Summary

TLDREste tutorial detalla cómo utilizar diagramas de clases en UML, explicando características básicas como atributos, métodos y visibilidad. Se introducen conceptos de herencia, asociación, agregación y composición, con ejemplos ilustrativos como un zoológico y un carrito de compras en línea. Además, se menciona el uso de software como Lucidchart para facilitar la creación de diagramas, invitando al espectador a explorar más tutoriales y a probar una cuenta gratuita.

Takeaways

  • 😀 Los diagramas de clases son herramientas útiles para modelar sistemas, permitiendo representar entidades y sus relaciones.
  • 🐘 Se utilizan atributos (también conocidos como campos, variables o propiedades) para describir instancias específicas de una clase, siguiendo un formato de visibilidad y tipo de datos.
  • 📚 Los métodos, que pueden ser operaciones o funciones, definen el comportamiento de una clase y también siguen un formato de visibilidad y parámetros.
  • 🔐 La visibilidad de los atributos y métodos (pública, privada, protegida, paquete) determina su accesibilidad dentro del sistema.
  • 🐢 En el ejemplo del zoológico, se muestra cómo las clases pueden heredar atributos y métodos de una superclase,简化代码并减少 repeticiones.
  • 🌐 La herencia permite crear subclases que heredan características de una clase principal, facilitando la reutilización y mantenimiento del código.
  • 🔗 Las relaciones de asociación, agregación y composición definen cómo las clases se relacionan entre sí, con diferencias en la dependencia y la existencia de las partes.
  • 📊 La multiplicidad en las relaciones de clases ayuda a definir restricciones numéricas, como la cantidad de instancias que pueden participar en una relación.
  • 🛒 Se presenta un ejemplo real de un carrito de compras en línea, mostrando cómo las clases y relaciones se aplican en un contexto práctico.
  • 🔗 Lucidchart es una herramienta mencionada para facilitar la creación de diagramas de clases, con la ventaja de un registro gratuito.

Q & A

  • ¿Qué son los diagramas de clases y para qué sirven?

    -Los diagramas de clases son una herramienta utilizada en la ingeniería del software para modelar y representar la estructura de una clase en un sistema, incluyendo sus atributos, métodos y relaciones con otras clases.

  • ¿Cuáles son las características básicas de un diagrama de clases?

    -Las características básicas incluyen el nombre de la clase, los atributos (también conocidos como campos, variables o propiedades) y los métodos (operaciones o funciones).

  • ¿Cómo se identifican las instancias específicas de una clase en un diagrama de clases?

    -Las instancias específicas de una clase se identifican a través de atributos que describen cada instancia, como 'nombre' y 'edad'.

  • ¿Qué formato deben tener los atributos y los métodos en un diagrama de clases?

    -Los atributos y métodos deben comenzar con una letra minúscula, seguido de dos puntos y el tipo de datos. Los métodos también incluyen un paréntesis.

  • ¿Qué es la visibilidad en un diagrama de clases y cuáles son sus tipos?

    -La visibilidad define la accesibilidad de los atributos o métodos. Los tipos incluyen privado (-), público (+), protegido (#) y paquete (tilde ~).

  • ¿Qué es la herencia en los diagramas de clases y cómo se representa?

    -La herencia es una relación donde una clase (subclase) hereda los atributos y métodos de otra clase (superclase). Se representa con flechas abiertas apuntando a la superclase.

  • ¿Qué es una clase abstracta y cómo se indica en un diagrama de clases?

    -Una clase abstracta es una clase que no se puede instanciar y sirve para simplificar y evitar código repetido. Se indica en un diagrama de clases poniendo el nombre de la clase en cursiva.

  • ¿Qué es la asociación en un diagrama de clases y cómo se representa?

    -La asociación es una relación entre clases que indica una conexión simple, como 'nutria come erizos de mar'. Se representa con una línea simple entre las clases.

  • ¿Qué diferencia hay entre la agregación y la composición en un diagrama de clases?

    -La agregación indica que las partes pueden existir fuera del todo, se representa con un diamante abierto. La composición indica que las partes no pueden existir sin el todo, se representa con un diamante cerrado.

  • ¿Qué es la multiplicidad en un diagrama de clases y cómo se define?

    -La multiplicidad define las restricciones numéricas en las relaciones entre clases, como '1' para una relación uno a uno, '0..*' para cero o muchos, y '1..*' para uno o muchos.

  • ¿Cómo se representa un ejemplo real de un diagrama de clases, como un carrito de compras en línea?

    -Un diagrama de clases para un carrito de compras en línea incluiría clases como Usuario, Cliente y Pedido, con relaciones de herencia y composición, y multiplicidades que definen la cantidad de instancias posibles.

Outlines

00:00

🦜 Introducción a los Diagramas de Clases

El vídeo comienza con Paco, quien enseña a usar diagramas de clases. Explica características básicas de los diagramas, como las clases, atributos, y métodos. Utiliza un ejemplo de un zoológico para ilustrar cómo se representan las cosas en un sistema a través de clases. Un atributo es un dato que describe una instancia de una clase, y los métodos son operaciones o funciones que definen el comportamiento de una clase. Paco también discute la visibilidad de los atributos y métodos, explicando la diferencia entre privados, públicos, protegidos y paquete. Finalmente, menciona el uso de software para facilitar la creación de diagramas de clases, como Lucidchart.

05:02

🐢 Herencia en Diagramas de Clases

Paco continúa explicando la herencia en diagramas de clases, usando el ejemplo del zoológico. Muestra cómo crear clases específicas como Tortuga, Nutria y Loris Perezoso, y cómo estas heredan atributos y métodos de la clase Animal. Explica la ventaja de la herencia para evitar duplicación de código y menciona el concepto de abstracción, donde la clase Animal es una clase abstracta que no se instancia directamente. Además, introduce las relaciones de asociación, agregación y composición en diagramas de clases, con ejemplos apropiados para cada una, y discute sobre la multiplicidad en las relaciones entre clases.

10:03

🛒 Diagrama de Clases de un Carrito de Compras

En el último párrafo, Paco aplica los conceptos aprendidos a un ejemplo práctico: un sistema de carrito de compras en línea. Describe las clases de Usuario, Cliente y Administrador, y cómo estas clases se relacionan a través de la herencia y composición. Explica la importancia de la multiplicidad en las relaciones de clases, con ejemplos de cero o muchos, uno a uno, y uno a muchos. Finalmente, invita a los espectadores a suscribirse al canal, dejar comentarios y a probar una cuenta gratuita de Lucidchart para crear sus propios diagramas de clases.

Mindmap

Keywords

💡Diagramas de clases

Los diagramas de clases son una herramienta utilizada en la ingeniería del software para representar los diferentes elementos de un programa, como objetos, atributos y métodos, y sus relaciones. En el video, se utilizan diagramas de clases para explicar cómo modelar un sistema para un zoológico, representando animales y empleados como clases con sus respectivos atributos y métodos.

💡Atributos

Los atributos son propiedades o características que describen una instancia de una clase. En el video, se mencionan atributos como 'nombre', 'edad' y 'hábitat' para la clase 'Animal', y 'número de teléfono' y 'departamento' para la clase 'Empleado', mostrando cómo estos atributos definen las características únicas de cada objeto dentro de la clase.

💡Métodos

Los métodos son funciones que definen el comportamiento de una clase, permitiendo realizar acciones o cálculos. En el ejemplo del video, se crea un método 'definirNombre' para cambiar el nombre de un animal, y un método 'comer' para representar el comportamiento de comer de los animales, ilustrando cómo los métodos modelan el comportamiento de los objetos.

💡Visibilidad

La visibilidad determina el acceso a los atributos y métodos de una clase, pudiendo ser pública (+), privada (-), protegida (#) o de paquete (~). En el video, se explica que los atributos generalmente son privados o protegidos para encapsular la información, mientras que los métodos suelen ser públicos para permitir la interacción con los objetos.

💡Herencia

La herencia es una relación entre clases donde una clase (subclase) hereda atributos y métodos de otra clase (superclase). En el video, se usa el ejemplo de las clases 'Tortuga', 'Nutria' y 'Loris Perezoso' que heredan de la clase 'Animal', evitando la duplicación de atributos comunes y permitiendo la adición de características específicas.

💡Clase abstracta

Una clase abstracta es una clase que no se puede instanciar directamente y sirve como una plantilla para otras clases. En el video, la clase 'Animal' se presenta como abstracta, ya que no se crea una instancia de 'Animal' sino de sus subclases específicas como 'Tortuga', 'Nutria', etc.

💡Asociación

La asociación es una relación entre clases que indica una conexión entre objetos, sin una dependencia de 'todo-parte'. En el video, se establece una asociación entre 'Nutria' y 'Erizo de Mar', indicando que las nutrias 'comen' erizos de mar, pero sin que un erizo de mar dependa de una nutria para existir.

💡Agregación

La agregación es una relación de 'todo-parte' donde las partes forman un todo, pero las partes pueden existir independientemente. En el ejemplo del video, se crea una relación de agregación entre 'Tortuguero' y 'Tortuga', donde un tortuguero puede contener múltiples tortugas, pero las tortugas pueden existir fuera del tortuguero.

💡Composición

La composición es una relación de 'todo-parte' donde las partes no pueden existir sin el todo. En el video, se describe cómo un 'Centro de Visitantes' tiene una 'Recepción' y 'Baños', y si el centro de visitantes se demoliera, también se eliminarían sus componentes, ilustrando que las partes no pueden existir sin el todo.

💡Multiplicidad

La multiplicidad define la cantidad de objetos que pueden participar en una relación. En el video, se ejemplifica cómo un 'Centro de Visitantes' puede tener una 'Recepción' (1) y varios 'Baños' (1..*), mientras que un 'Cliente' puede tener cero o muchos 'Pedidos' (0..*), mostrando cómo la multiplicidad especifica las relaciones numéricas entre clases.

Highlights

Introducción a los diagramas de clases y sus características básicas.

Creación de un ejemplo de un sistema para un zoológico para ilustrar los conceptos.

Representación de las clases y la instanciación de objetos específicos.

Explicación de los atributos y cómo identificar instancias específicas de una clase.

Formato de los atributos y su visibilidad en el contexto de la programación.

Introducción a los métodos y su importancia en la descripción del comportamiento de una clase.

Importancia de la visibilidad en atributos y métodos: privada, pública y protegida.

Uso de la visibilidad de paquete y su significado en la programación.

Creación de una clase 'Empleado' con atributos y métodos específicos.

Uso de software para facilitar la creación de diagramas de clases.

Introducción a la relación de herencia y su aplicación en un ejemplo de zoológico.

Explicación de la clase abstracta y su papel en la simplificación del código.

Descripción de la relación de asociación y su representación en diagramas de clases.

Introducción a la agregación y composición como relaciones especiales en los diagramas de clases.

Importancia de la multiplicidad en las relaciones y cómo definir restricciones numéricas.

Análisis de un diagrama de clases ML de un carrito de compras en línea como ejemplo real.

Revisión de las relaciones de herencia y composición en el ejemplo del carrito de compras.

Explicación de la multiplicidad en el contexto de un cliente y sus pedidos.

Conclusión del tutorial y llamada a la acción para suscribirse y probar Lucidchart.

Transcripts

play00:00

hola me llamo paco y hoy les enseñar a

play00:02

usar los diagramas de clases

play00:04

empezaremos con algunas de las

play00:05

características básicas y luego

play00:07

hablaremos sobre las relaciones y

play00:09

terminaremos revisando juntos algunos

play00:10

elementos muy bien hablemos sobre

play00:12

algunas de las características básicas

play00:14

de los diagramas de clases para explicar

play00:16

estas características voy a inventar un

play00:18

ejemplo que ayuda a ilustrar digamos que

play00:20

estamos creando un sistema para un

play00:22

zoológico y a propósito estos ejemplos

play00:24

que usaré probablemente nunca se

play00:26

convierten en un programa real pero

play00:28

ahora en que la comprensión de estos

play00:29

conceptos sea mucho más sencilla así

play00:32

pues en nuestro zoológico queremos

play00:34

describir las diferentes cosas que están

play00:36

en el sistema representamos esas cosas a

play00:38

través de clases y una clase se

play00:40

representa con esta figura entonces que

play00:43

hay un un zoológico pues hay un montón

play00:45

de animales así que podríamos crear una

play00:47

clase para nuestros animales para

play00:49

hacerlo simplemente escribes el nombre

play00:51

de la clase en esta sección superior si

play00:53

nuestra clase es animal una instancia de

play00:56

esa clase sería un animal específico así

play00:58

que la pregunta es cómo harías para

play01:00

identificar cada instancia en esa clase

play01:02

lo hace a través de atributos un

play01:04

atributo es un dato importante

play01:06

valores que describen cada instancia de

play01:08

esa clase también se les conoce como

play01:11

campos variables o propiedades y van en

play01:14

esta sección media así que para nuestra

play01:16

clase de animal crearíamos atributos

play01:18

como nombre haití y edad de esa forma

play01:21

podríamos identificar una instancia

play01:22

específica de la clase de animal como

play01:24

ruth número ay de 304 edad 114 no

play01:28

obstante estos valores deben tener

play01:30

cierto formato empecemos con la

play01:32

visibilidad de lo cual hablaremos más

play01:34

adelante el nombre del atributo empieza

play01:36

con una letra minúscula luego le siguen

play01:39

dos puntos y el tipo de datos para el

play01:41

nombre sería deseable mostrar una cadena

play01:43

de texto y podemos dar el mismo formato

play01:45

a los otros atributos excepto que

play01:47

queríamos mostrar un número entero ya

play01:49

que se trata de números ahora que

play01:51

tenemos algunos atributos para nuestra

play01:53

clase de animal vamos a esta sección

play01:55

inferior

play01:56

aquí es donde ponemos los métodos a los

play01:58

que se conoce también como operaciones o

play02:00

funciones los métodos que permiten

play02:03

especificar cualquier característica de

play02:05

comportamiento de una clase así que

play02:07

podemos preguntarnos cuáles son algunos

play02:09

comportamientos diferentes de esta clase

play02:11

de animal

play02:12

quizás quisiéramos poder cambiar los

play02:14

nombres de nuestros animales como ruth

play02:16

que realmente se debería llamar rita así

play02:19

que creamos una función llamada definir

play02:21

nombre podríamos también crear un método

play02:23

para comer ya que todos nuestros

play02:25

animales comen también es necesario que

play02:28

los métodos tengan cierto formato

play02:29

empiezas con la visibilidad de lo cual

play02:32

hablamos después luego el método que

play02:34

empieza con una letra minúscula luego

play02:36

pones un paréntesis para indicar la

play02:38

función que vas a programar más tarde

play02:40

también puedes agregar aquí variables y

play02:43

el tipo de datos pero en la mayoría de

play02:45

los casos realmente es necesario

play02:47

agregamos la visibilidad y el paréntesis

play02:49

al método de comer también ahora

play02:52

hablemos de la visibilidad la

play02:54

visibilidad de un atributo o de un

play02:56

método define la accesibilidad para este

play02:58

atributo o método así pues en este

play03:01

momento tenemos un signo menos para

play03:02

todos ellos lo que indica que cada uno

play03:04

de estos atributos y métodos son

play03:06

privados ninguna otra clase o subclase

play03:09

puede acceder a ellos justo lo opuesto

play03:11

es el signo + el cual significa que uno

play03:13

atributo o un método es público y que

play03:15

cualquier otra clase puede acceder a él

play03:17

otro tipo de visibilidad se indica por

play03:19

medio del algoritmo hash el cual

play03:21

significa que un atributo o método está

play03:23

protegido solo la misma clase o sus

play03:26

clases pueden acceder a ellos y

play03:28

finalmente está la tilde o garabato como

play03:31

me gusta llamarla esta define la

play03:33

visibilidad del paquete o por defecto lo

play03:35

que significa que puede ser usada por

play03:37

cualquier otra clase mientras esté en el

play03:38

mismo paquete sin embargo rara vez se

play03:41

usa en la mayoría de los casos tus

play03:43

atributos serán privados o protegidos y

play03:46

los métodos con frecuencia serán

play03:47

públicos repasemos rápidamente a tus

play03:50

conceptos básicos con otro ejemplo

play03:52

hagamos una clase para empleado

play03:54

podríamos darle atributos como nombre de

play03:57

empleado número telefónico y

play03:59

departamento desearemos que todos estos

play04:01

atributos sean privados y luego

play04:03

podríamos crear un método simple como

play04:05

actualizar el número telefónico el cual

play04:07

definiremos como público

play04:09

así pues habrás notado que estoy usando

play04:10

un software para crear los diagramas de

play04:12

clases o ml los mismos principios

play04:14

aplican si estás usando lápiz y papel no

play04:17

obstante un software lo vuelve mucho más

play04:19

sencillo el software que estoy usando se

play04:21

llama lucir chart y puedes registrarte

play04:23

gratis haciendo clic en el enlace que se

play04:25

encuentra en la parte superior derecha

play04:26

solo necesitas una dirección de correo

play04:28

electrónico y ya podrás seguir las

play04:30

explicaciones para hacer hechos de

play04:31

granos de clases

play04:33

así que lo siguiente que necesitaremos

play04:35

cubrir son las diferentes relaciones que

play04:37

existen entre clases el primer tipo de

play04:39

relación que describiremos es la

play04:41

herencia y seguiré con el ejemplo de

play04:43

zoológico porque facilita comprender la

play04:45

lógica de estas relaciones más adelante

play04:47

veremos un ejemplo más técnico del mundo

play04:49

real sigamos con la herencia digamos que

play04:53

nuestro zoológico los únicos animales

play04:54

que tenemos son tortugas nutrias y lores

play04:57

perezosos que son menos conocidos pero

play04:59

igualmente sorprendentes en nuestro

play05:01

sistema queremos distinguir a cada uno

play05:03

de ellos como su propia clase así que

play05:05

creamos tres nuevas clases para tortuga

play05:07

nutria y lores perezoso ahora en lugar

play05:10

de duplicar atributos para nombre y edad

play05:12

podemos convertir estas clases en sus

play05:15

clases de la clase de animal dibujando

play05:17

flechas abiertas de esta forma se trata

play05:19

de una relación de herencia estamos

play05:21

diciendo que estas subclases heredan

play05:23

todos los atributos y métodos de la

play05:24

superclase también podrías usar los

play05:27

términos clase derivada y clase

play05:28

principal así en nuestra clase de nutria

play05:31

va a heredar los atributos del nombre

play05:33

edad

play05:34

y luego podríamos agregar un atributo

play05:36

específico para nutria como extensión de

play05:38

bigotes una de la ventaja de la

play05:41

adherencia es que si quisiéramos cambiar

play05:42

o agregar un atributo para todos los

play05:44

animales no tendríamos que realizar ese

play05:45

cambio para tortuga y luego para nutria

play05:47

y luego para olores perezoso solamente

play05:49

hacemos el cambio en la clase de animal

play05:51

y se aplica a todas las subclases en

play05:53

este escenario también tenemos lo que

play05:55

llamamos abstracción animal es una clase

play05:58

abstracta porque nuestro sistema cada

play06:00

vez que queramos crear una instancia de

play06:02

una de nuestras clases esta será tortuga

play06:04

nutria o loris perezoso no crearíamos

play06:07

una instancia de la clase de animal

play06:08

misma la clase de animal es sólo una

play06:10

forma de simplificar las cosas y

play06:12

mantener el código sin repeticiones

play06:14

innecesarias así que para mostrar qué es

play06:16

esta clase abstracta pondremos el nombre

play06:19

en cursiva podrías poner el nombre de la

play06:21

clase dentro de estas partes también

play06:23

pero prefiero usar cursiva

play06:25

otro tipo de relación es la asociación

play06:27

así que si tuviéramos una clase para

play06:29

erizo de mar

play06:30

podríamos trazar una asociación la cual

play06:32

se representa con una línea simple entre

play06:34

el nutria y el viso de mar y podríamos

play06:36

decir que la nutria come erizos de mar

play06:38

no hay dependencia entre ellas es solo

play06:41

una relación de asociación básica y es

play06:43

muy simple el siguiente tipo de relación

play06:45

es la agregación es un tipo especial de

play06:48

asociación que especifica un todo y sus

play06:51

partes así continuando con nuestro

play06:53

ejemplo del zoológico de nuevo esto solo

play06:56

es para explicar la lógica vamos a crear

play06:58

una clase nueva para un grupo de

play06:59

tortugas a un grupo de tortugas se le

play07:02

llama tortuguero y es algo muy ingenioso

play07:04

y así tenemos aquí nuestra clase de

play07:06

tortuguero que tiene una relación con

play07:08

tortuga cualquiera de las tortugas

play07:09

nuestro zoológico podrían ser parte de

play07:11

un tortuguero pero no tienen que serlo

play07:13

una tortuga podría salir del tortuguero

play07:15

en cualquier momento y seguir existiendo

play07:17

por su cuenta ese tipo de relación en la

play07:20

que una parte puede existir fuera del

play07:22

todo es la agregación y le indicamos con

play07:24

un diamante abierto también hay una

play07:27

relación en la que la parte no puede

play07:29

existir fuera del todo se le llama

play07:31

composición para ilustrar esto voy a

play07:33

crear algunas clases nuevas digamos

play07:35

simplemente que tenemos varios centros

play07:37

de visitantes diferentes en otro

play07:38

zoológico y cada uno de sus centros de

play07:40

visitantes tiene una recepción y un baño

play07:42

ahora bien si uno de nuestros centros de

play07:44

visitantes fuera demolido también se

play07:46

demolerían la recepción y el baño de ese

play07:49

centro para visitantes esas áreas no

play07:50

podrían existir separadas del centro de

play07:52

visitantes en el que están

play07:54

eso es composición cuando un objeto

play07:56

derivado no podría existir sin su objeto

play07:58

principal anotamos una relación de

play08:00

composición por medio de un diamante

play08:02

cerrado

play08:03

otro concepto importante al hablar de

play08:05

relaciones en diagramas de clases u ml

play08:07

es la multiplicidad la multiplicidad te

play08:10

permite definir sus restricciones

play08:11

numéricas en tus relaciones por ejemplo

play08:14

digamos que queremos especificar que

play08:16

nuestros centros de visitantes tendrían

play08:17

solo una recepción simplemente

play08:20

escribimos el número uno aquí lo que

play08:21

significa que puede haber una y solo una

play08:23

recepción por centro de visitantes pero

play08:26

para los baños quizás queremos indicar

play08:27

que hay al menos un baño por centro de

play08:29

visitantes pero dejando la opción a que

play08:31

tenga tantos como desees usaríamos esa

play08:34

anotación para indicar uno o muchos

play08:36

baños otros tipos de multiplicidad son 0

play08:38

a 1 lo cual es una instancia opcional n

play08:41

que representa una cantidad específica

play08:43

fue 1 en nuestro ejemplo pero podría ser

play08:46

cualquier otro número dependiendo de tu

play08:48

caso y uso 0 a muchos uno a muchos con

play08:52

un rango específico de números

play08:54

esperemos que nuestros ejemplos de los

play08:56

zoológicos hayan ayudado a explicar esos

play08:58

conceptos pero quiero mostrarte cómo

play09:00

sería un ejemplo del mundo real

play09:02

este es un diagrama de claves ml para un

play09:04

carrito de compras en línea y si quieres

play09:06

ver este sistema conmigo pasa que hagas

play09:08

clic en la esquina superior derecha

play09:10

puedes ver que este sistema tiene varias

play09:12

clases y relaciones así que revisemos un

play09:14

par de ellas empezaremos con la clase de

play09:17

usuario tiene atributos para haití de

play09:20

usuario contraseña estado de inicio de

play09:22

sesión y fecha de registro tiene los

play09:24

diferentes tipos de resultados a la

play09:25

derecha y a la izquierda la visibilidad

play09:27

que está definida como privada

play09:30

puedes ver como los valores resultantes

play09:31

de estos atributos describirían

play09:33

específicamente una instancia de la

play09:34

clase de usuario más abajo tenemos un

play09:37

método público de verificar el inicio de

play09:38

sesión cuyo resultado son boleando y eso

play09:41

tiene sentido verdad los métodos son

play09:43

comportamientos de una clase así que si

play09:45

tuvieras que iniciar sesión de tu cuenta

play09:47

hay una función implementada que

play09:49

verifica tus credenciales de inicio de

play09:51

sesión

play09:52

sigamos con la clase de cliente esta

play09:54

fecha nos indica que el cliente es una

play09:56

clase derivada de usuario así que

play09:58

cliente era todos los atributos y

play09:59

métodos de la clase de usuario y lo

play10:01

mismo aplica para la clase de

play10:03

administrador ambas se heredan de

play10:05

usuario pero también tienen sus propios

play10:07

atributos y métodos específicos mientras

play10:09

que el administrador puede actualizar el

play10:11

catálogo el cliente no lo puede hacer

play10:13

desde clientes surgen varias líneas con

play10:16

el diamante cerrado así que si recuerdas

play10:18

se trata de relaciones de composición lo

play10:21

cual significa que las partes no pueden

play10:23

existir sin el todo si se eliminará una

play10:25

instancia de la clase de cliente es

play10:27

decir si se eliminará la cuenta de ese

play10:29

cliente se eliminaría su carrito de

play10:30

compras y se eliminarían sus pedidos no

play10:33

puede existir fuera del cliente lo mismo

play10:36

aplica para la información de envío y la

play10:38

información del pedido si no he pedido

play10:40

no habría información del pedido de

play10:42

información de envío

play10:44

lo último que revisaremos en este

play10:45

ejemplo es la multiplicidad puedes ver

play10:47

que un cliente puede tener cero o muchos

play10:49

pedidos tiene sentido verdad

play10:51

podrías crear una cuenta de cliente para

play10:53

una tienda en línea pero nunca comprar

play10:54

nada o podría ser un cliente frecuente y

play10:57

realizar varios pedidos diferente

play10:58

y luego por otro lado un pedido puede

play11:01

pertenecer solo a un cliente si era muy

play11:03

confuso si un pedido específico con un

play11:05

aire de pedido único se duplicará en

play11:07

varios clientes diferentes

play11:09

y aquí puedes ver una relación de uno a

play11:11

uno cada pedido tiene una y solo una

play11:14

información del pedido y la información

play11:16

del pedido pertenece a uno y sólo un

play11:18

periodo

play11:20

gracias por verse tutorial sobre de

play11:22

gramos de clase sub ml suscríbete a

play11:24

nuestro canal para ver más tutoriales

play11:26

utiliza dejo un comentario si tienes

play11:28

alguna idea o pregunta y por último haz

play11:30

clic en este enlace para probar una

play11:31

cuenta gratis de luz y chat y empieza a

play11:33

crear un mismo tus propios programas de

play11:35

clases

play11:35

[Música]

Rate This

5.0 / 5 (0 votes)

関連タグ
Diagramas de ClasesUMLSoftware LucidchartZoológico EjemploClases y ObjetosRelaciones de ClasesHerenciaAgregaciónComposiciónVisibilidadMultiplicidad
英語で要約が必要ですか?