UML: Lenguaje de Modelado Unificado. Yalú Galicia Hdez. (FCC/BUAP)

Documentos relacionados
Capítulo 16. Diagrama de Clases UML

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

CLA. Diagramas de clases en Métrica V3

Introducción a la Orientación a Objetos

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Lenguaje de Modelamiento Unificado.

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

Cristian Blanco

TEMA 4. PROCESO UNIFICADO

PROGRAMACION ORIENTADA A OBJETOS EN C++

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Se utiliza para representar los tipos de objetos dentro del sistema (proceso) y las diversas relaciones estáticas que existen entre ellos

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Capacitación adquirida por el alumno al finalizar este modulo

Programación Orientada a Objetos (POO)

Diagramas de secuencia

CASOS DE USO Exploración de Requerimientos

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta


Conceptos de Programación Orientada a Objetos

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Descripción del Curso

Tema: Herramientas UML, Análisis y diseño UML

Análisis y Diseño de Sistemas

de Procesos de Negocio 4. Productos de la ingeniería del software 5. Procesos de la ingeniería del software

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

M465: Tanque de Agua. A) Presentación del problema

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

Ingeniería a de Software CC51A

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Diagramas de interacción

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Casos de Uso. Introducción. Actores

Elementos de un programa en C

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Principios de Análisis Informático. Tema 3: Fase de inicio

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Desarrollo Orientado a Objetos en Métrica v. 3

BASES DE DATOS TEMA 2 MODELOS DE DATOS

Unidad II. Metodología para resolver problemas aplicando la POO. Parte 1

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Un caso de uso es una tarea que debe poder llevarse a cabo con el apoyo del sistema que se está desarrollando, se representa mediante un óvalo.

Algoritmos y programas. Algoritmos y Estructuras de Datos I

DIAGRAMA DE CLASES EN UML

PLANEACION TACTICA Y OPERATIVA FUNDACIÓN UNIVERSITARIA TECNOLÓGICO COMFENALCO

El Lenguaje Unificado de Modelado (UML)

Análisis y Diseño Orientado a Objetos

Conversión de unidades de volumen y unidades de capacidad. Rosendo construyo una pileta de forma cubica que mide en su interior 1m por lado.

Programación en java. Estructuras algorítmicas

Enterprise Architect y UML Básico

Metodología de Desarrollo Visual. Universidad Carlos III de Madrid. Maria- Isabel, Sanchez Segura & Arturo, Mora- Soto

Formato para prácticas de laboratorio

Yalù Galicia Hernàndez. Yalú Galicia Hdez. (FCC/BUAP)

REINGENIERÍA DE LOS PROCESOS DEL NEGOCIO. Modelado del Negocio con UML

CLASE 4: CASOS DE USO REQUERIMIENTOS. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tema 3: Diagramas de Casos de Uso. Arturo Mora Soto Octubre 2008

INGENIERÍA DEL SOFTWARE

Evaluación Diagnóstico puesta en común. Escuela Técnica ORT - TIC

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

CAPÍTULO 3. Metodología para la elaboración de. manuales de procedimientos

Diseño Organizacional

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Análisis y Diseño de Sistemas

Requerimientos de Software

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

UNIDAD 12.- Estadística. Tablas y gráficos (tema12 del libro)

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

Diagrama de secuencia (interacción)

Diagramas de clases de UML

GESTION DE PROCESOS MAPA DE PROCESOS

Primer grado. Slide 2 / 232. Slide 1 / 232. Slide 3 / 232. Slide 4 / 232. Slide 6 / 232. Slide 5 / 232. Geometría. Formas 2-D

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Principios de Computadoras II

Índice.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2013.

[Escriba texto] CÓMO ESCRIBIR UN TFG

Ficha de Aprendizaje N 13

GUION TÉCNICO AUDIO. Propiedades de Campo y Orden de los Números Reales (1). estructurados, y ello les obliga a "funcionar" o a

Tema 2 Introducción a la Programación en C.

5to. ESTANDARES MATEMATICOS COMUNES FUNDAMENTALS

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Modulo 11. Clases y Objetos en Java

CAPÍTULO 4: VARIABLES Y RAZONES

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML

Transcripción:

UML: Lenguaje de Modelado Unificado Yalú Galicia Hdez. (FCC/BUAP) 1

Qué es UML? Diagramas UML Diagrama de clases Clase, objetos Relaciones entre clases Asociación Dependencia Agregación Composición Herencia Realización Diseño OO Yalú Galicia Hdez. (FCC/BUAP) 2

UML (Unified Modeling Language) es un lenguaje que permite visualizar, modelar, construir y documentar los elementos que forman un sistema de software usando objetos. Es decir, para realizar un proyecto debemos antes realizar un esquema del mismo. El UML nos permite mediante diagramas, plasmar de una forma detallada e inteligible la solución a un problema planteado. Yalú Galicia Hdez. (FCC/BUAP) 3

UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas Los diagramas tienen como objetivo presentar diversas perspectivas de un sistema. A esto se le llama Modelo. El modelo UML de un sistema es similar a un modelo a escala de un edificio junto con la interpretación del arquitecto del edificio. Tenemos que tener en cuenta que un modelo UML describe lo que supuestamente hará un sistema, pero no dice como implementar dicho sistema. Yalú Galicia Hdez. (FCC/BUAP) 4

Un modelo es una descripcion completa de un sistema desde una perspectiva especifica (diagrama) Use Case Diagrams Use Diagramas Case Diagrams de Secuencia Use Case Diagrams Use Diagramas Case Diagrams de Casos de Uso State Diagrams State Diagrams Diagramas de Clases State Diagrams State Diagramas Diagrams de Objetos Scenario Diagrams Scenario Diagramas Diagrams de Colaboracion Modelos State Diagrams State Diagramas Diagrams de Componentes Scenario Diagrams Scenario Diagramas Diagrams de Estado Yalú Galicia Hdez. (FCC/BUAP) Diagramas de Actividad Component Diagrams Component Diagrams Diagramas De Deployment 5

Se usan los diagramas de Casos de Uso para visualizar la interacción del sistema con el mundo exterior Yalú Galicia Hdez. (FCC/BUAP) 6

Los diagramas de secuencia muestran cómo se da paso a paso cierta funcionalidad en el sistema Yalú Galicia Hdez. (FCC/BUAP) 7

Los diagramas de colaboración muestran cómo interactúan los objetos para lograr cierta funcionalidad en el sistema Yalú Galicia Hdez. (FCC/BUAP) 8

Los diagramas de clase muestran la estructura del sistema Yalú Galicia Hdez. (FCC/BUAP) 9

Los diagramas de componentes ilustran la organización y dependencia entre los componentes que definen la arquitectura del sistema Yalú Galicia Hdez. (FCC/BUAP) 10

Los diagramas de deployment permiten visualizar la distribución de los componentes del sistema a través de la empresa Yalú Galicia Hdez. (FCC/BUAP) 11

Qué es UML? Diagramas UML Diagrama de clases Clase Relaciones entre clases Asociación Dependencia Agregación Composición Herencia Realización Diseño OO Yalú Galicia Hdez. (FCC/BUAP) 12

En este curso, nos enfocaremos solamente en los diagrama de clases, como un medio de diseño de nuestros programas. La forma de representar una clase en UML, es mediante una caja con divisiones Nombre de la clase Lista de atributos Lista de operaciones o acciones Yalú Galicia Hdez. (FCC/BUAP) 13

Recordando algunos conceptos del paradigma orientado a objetos, una clase es una categoría o grupo de cosas que tienen atributos y acciones similares. Por ejemplo: La clase lavadora tiene atributos como, la marca, el modelo, el numero de serie y la capacidad. También podemos observar que entre las acciones o comportamientos de esta clase se encuentran: agregar ropa, agregar detergente, activarse, enjuagar ropa y sacar ropa marca modelo noserie capacidad Lavadora agregarropa( ) agregardetergente() iniciar() enjuagarropa() sacarropa() Yalú Galicia Hdez. (FCC/BUAP) 14

Variable: tipo Método o función ( parámetros): tipo de regreso Lavadora marca: String modelo: String noserie: Int capacidad: Int agregarropa(r: Ropa): void agregardetergente(): void iniciar(): void enjuagarropa(): void sacarropa(): Ropa Nombre de la clase atributos Comportamiento o acciones Yalú Galicia Hdez. (FCC/BUAP) 15

MÉTODOS DE ACCESO Símbolo Indica - privado (oculto) + público (visible) # protegido (semioculto) acciones públicas = interface! Lavadora - marca: String - modelo: String - noserie: Int - capacidad: Int + agregarropa(r: Ropa): void + agregardetergente(): void + iniciar(): void + enjuagarropa(): void + sacarropa(): Ropa Yalú Galicia Hdez. (FCC/BUAP) 16

CLASE -x: real -y: real Punto Objetos p1: Punto x= 3.14 y = 2.718 +rotar(angulo: real) +Escala(factor: real) p2: Punto x= 1 y = 1.414 Yalú Galicia Hdez. (FCC/BUAP) 17

Nombres de las clases: Inician con Mayúscula Son en singular Se aplica notación camello Nombre de atributos sustantivos Inician con minúscula Se aplica notación camello Nombre de los métodos Verbos (acciones) Inician con minúscula Se aplica notación camello Notación camello? En la notación camello, cuando se unen varias palabras, cada palabra inicia con mayúscula Ej: lavarropasucia Yalú Galicia Hdez. (FCC/BUAP) 18

Qué es UML? Diagramas UML Diagrama de clases Clase Relaciones entre clases Asociación Dependencia Agregación Composición Herencia Realización Diseño OO Yalú Galicia Hdez. (FCC/BUAP) 19

Los problemas del mundo real, son más complejos que modelar que una simple clase, más bien, se tiene muchos objetos de distintas clases comunicándose unos con otros. Esto significa, que dichos objetos establecen relaciones. Básicamente las relaciones que se establecen son: Asociación Dependencia Agregación Composición Herencia Realización Yalú Galicia Hdez. (FCC/BUAP) 20

La relación más simple entre clases es la asociación. Indica que dos clases tienen una relación que las asocia según el papel que cada una juega con respecto a otra. Se usa la asociación para relacionar dos objetos que necesitan colaborar enviándose mensajes En un diagrama de clases, la asociación se indica mediante una línea continua que se dirige de un objeto a otro. Persona Empresa Asociación Yalú Galicia Hdez. (FCC/BUAP) 21

Para aclarar su significado, En la línea se puede anotar el nombre de la relación (normalmente un verbo) y con un triángulo se indica la dirección en la que hay que leer dicho nombre. Por default la asociación es bi-direccional. Opcionalmente se pueden colocar un nombre de rol para cada clase, dicho rol es un nombre alternativo que representa el papel que toma cada clase en la relación Persona Trabaja en Empresa Trabajador Empleador Yalú Galicia Hdez. (FCC/BUAP) 22

La Multiplicidad es el número de instancias de una clase relacionadas a UNA instancia de otra clase Para cada asociación existen dos decisiones que tomar en cuanto a multiplicidad; una para cada extremo de la asociación Por ejemplo, en la conexión entre Profesor y Curso Cada instancia de Profesor, puede impartir muchos (cero o más) cursos Para cada instancia de Curso, hay exactamente un Profesor Profesor 1 0.. * Curso Yalú Galicia Hdez. (FCC/BUAP) 23

Cada extremo de la asociación contiene un indicador de multiplicidad Indica el número de objetos que participan en la relación Sin especificar Exactamente uno 1 Muchos (Cero o más, * sin limite) 0..* Uno o más 1..* Cero o uno 0..1 Rango Específico 2..4 Varios Rangos 2,4..6,8 Yalú Galicia Hdez. (FCC/BUAP) 24

La multiplicidad responde dos preguntas La asociación es obligatoria o es opcional? Cuál es el mínimo y máximo número de objetos de una clase que se pueden enlazar a un objeto de la otra clase? Las decisiones de multiplicidad exponen muchas suposiciones escondidas acerca del problema que se está modelando Se puede ir el maestro de licencia o tomar vacaciones? Puede un curso tener dos maestros? Profesor 1 1.. * Curso Yalú Galicia Hdez. (FCC/BUAP) 25

Esta relación implica dependencia entre clases. Se denota mediante una línea punteada con flecha. Siempre es dirigida (La clase A depende de la clase B) La dependencia es causada porque un método en la clase A temporalmente usa un objeto de la clase B. A B usa una Yalú Galicia Hdez. (FCC/BUAP) 26

Por ejemplo, un Pedido usa una Cuenta, porque un pedido necesita acceder a los objetos de tipo cuenta para comprobar el estado de un crédito La flecha es dirigida hacia la clase usada Pedido Cuenta usa una Yalú Galicia Hdez. (FCC/BUAP) 27

Es común que un objeto contenga objetos de otras clases, tal capacidad se llama agregación. Por ejemplo: Un objeto Auto tiene o esta formado por objetos de otras clases (Llantas, Motor, etc.) La relación que se establece entre estos objetos se llama tiene un, es parte de o consta de Ejemplo: Un auto tiene un motor Un escuela tiene alumnos La relación de agregación, es una relación débil entre los objetos, ya que estos pueden existir independientemente del todo. Es decir, una llanta puede existir, sin ser parte de un auto. Yalú Galicia Hdez. (FCC/BUAP) 28

Auto 1..4 Llanta multiplicidad Tiene un 1 Motor Agregación: diamante vacío Yalú Galicia Hdez. (FCC/BUAP) 29

País 1..* Estado 0..* Playa Yalú Galicia Hdez. (FCC/BUAP) 30

Es una relación de composición es muy parecida a la anterior (del tipo tiene un), sólo que en este caso la relación es mas fuerte. La vida de los objetos incluidos como atributos es totalmente dependiente de la vida del objeto contenedor Por ejemplo, una cara puede ser descrita, por los elementos que la forman; es decir; una cara está compuesta por un par de ojos, una boca y una nariz Tanto los ojos, la boca y la nariz, son objetos de otras clases: la clase Ojo, la clase Boca y la clase Nariz; sin embargo no existen independientemente a una cara. Yalú Galicia Hdez. (FCC/BUAP) 31

Cara Tiene un 2 Ojo 1 1 Nariz Boca Composición: diamante lleno Yalú Galicia Hdez. (FCC/BUAP) 32

Yalú Galicia Hdez. (FCC/BUAP) 33

Como ya comentamos, la herencia permite especificar jerarquías de clases en las que unas clases toman propiedades de otras (atributos, operaciones y relaciones). A la clase superior se la llama superclase mientras que a la clase que hereda las propiedades de la anterior se la llama subclase. La relación que se establece entre clases que heredan, se llama es un Por ejemplo: Una persona es un ser humano Un perro es un canino Un auto es un medio de transporte Yalú Galicia Hdez. (FCC/BUAP) 34

Vehículo Estas métodos se heredan + mover () + detener () es un Coche Bicicleta +llenargasolina() Un coche es un vehículo, pero NO todos los vehículos son coches!! Yalú Galicia Hdez. (FCC/BUAP) 35

+Abstracta A este nivel, la clase es abstracta +Concreta Yalú Galicia Hdez. (FCC/BUAP) 36

La mayoría de las veces una clase hereda de solo otra clase (herencia simple), sin embargo una misma clase puede heredar de varias clases distintas (herencia multiple). Esto puede ayudar a simplificar el Modelo de Analisis, pero debe usarse juiciosamente, ya que puede ser dificil de implementar en el Modelo de Diseño. ObjetoVolador Animal Herencia múltiple Aeroplano Helicóptero Pájaro Lobo Caballo Yalú Galicia Hdez. (FCC/BUAP) 37

Recordamos que polimorfismo se define como la capacidad de objetos de clases diferentes, relacionados mediante herencia, a responder de forma distinta al mismo mensaje (llamada a un método) Es decir, el mismo mensaje que se envía a muchos tipos de objetos, toma muchas formas y de ahí viene el término polimorfismo. Yalú Galicia Hdez. (FCC/BUAP) 38

La definición del método reside en la superclase La implementación del método reside en la subclase La invocación es resuelta al momento de ejecución (ligadura dinámica) Transporte Avanzar Frenar Transporte Transporte Avanzar avanzar() frenar() Frenar Transporte Avanzar Frenar Yalú Galicia Hdez. (FCC/BUAP) 39

Transporte En itálicas denota clase abstractas + avanzar () + frenar () La definición de estos métodos se heredan, pero hay redefinirlos o sobreescribirlos Caballo Cohete Carro + avanzar () + frenar () + avanzar () + frenar () + avanzar () + frenar () Yalú Galicia Hdez. (FCC/BUAP) 40

Clase Encapsulación Relaciones entre clases Asociación Dependencia Agregación Composición Herencia Polimorfismo Yalú Galicia Hdez. (FCC/BUAP) 41

Qué es UML? Diagramas UML Diagrama de clases Clase Relaciones entre clases Asociación Dependencia Agregación Composición Herencia Realización Diseño OO Yalú Galicia Hdez. (FCC/BUAP) 42

Para resolver un problema usando POO se deben seguir los siguientes pasos Análisis En esta etapa se deben identificar todos los objetos relacionados en la descripción del problema Diseño Clasificar los objetos Obtener sus características y operaciones principales. Identificar las relaciones entre los objetos Codificación Escribir el código de cada objeto sin tener en cuenta al resto de elementos del programa Implementar las relaciónes Yalú Galicia Hdez. (FCC/BUAP) 43

La identificación de clases y objetos es la parte más difícil del diseño orientado a objetos La identificación de objetos implica descubrimiento e invención No hay recetas fáciles para identificar clases y objetos Clasificar es agrupar cosas que tienen una estructura común o exhiben un comportamiento común La clasificación ayuda a identificar jerarquías de generalización, especialización, y agregación entre clases. La clasificación, también proporciona una guía para tomar decisiones sobre modularización Yalú Galicia Hdez. (FCC/BUAP) 44

La clasificación es el medio por el cual ordenamos el conocimiento Yalú Galicia Hdez. (FCC/BUAP) 45

Escribe la descripción del problema Identificar la meta Subraya lo siguiente: sustantivos: candidatos a clases verbos: candidatos a métodos adjetivos: candidatos a atributos Yalú Galicia Hdez. (FCC/BUAP) 46

Candidatos a Clases Hacer un programa que permita realizar operaciones aritméticas sobre fracciones. Además, permita imprimir el resultado en la forma a/b, donde a es el numerador y b el denominador. Candidatos a atributos Candidatos a métodos Yalú Galicia Hdez. (FCC/BUAP) 47

En el rancho la "Esperanza", se cuenta con diferentes graneros para almacenar semillas (maíz, trigo, sorgo, etc.). Los graneros tienen diferentes formas y tamaños, algunos son cilíndricos, otros cúbicos y otros cónicos. Conocer el volumen de semillas almacenadas es vital para la subsistencia de la región en tiempos de sequías; por lo que se requiere calcular constantemente la cantidad total de semillas almacenadas en los graneros, sin importar el tipo de semilla, para evitar desabasto. Además, visualizar el tipo de semilla que está almacenada en cada granero Yalú Galicia Hdez. (FCC/BUAP) 48

Elemento Rancho Graneros Semillas Maiz Sorgo Trigo Región Conocer volumen Calcular volumen total Visualizar tipo semillas Formas Tamaño Tipo de semilla Aceptado X X X X X (cilindro, cubo, cónicos) (medidas) Yalú Galicia Hdez. (FCC/BUAP) 49

Para cada objeto encontrado, modelar su clase por separado Relacionar las clases Fórmulas para cálculo de volúmenes: cubo = lado 3 cilindro = PI * radio 2 * Altura cono = (PI * radio 2 *Altura)/3 Yalú Galicia Hdez. (FCC/BUAP) 50

Rancho - graneros[]: Granero +calcularvoltotal() 0..* Granero -tipograno: String + visualizartipo() + calcularvolumen() Cilíndrico -radio: float -altura: float +calcularvolumen() Cúbico Cónico - lado: float - radio: float - altura: float + calcularvolumen() + calcularvolumen() Yalú Galicia Hdez. (FCC/BUAP) 51

Una relación de realización, indica que una clase implementa un comportamiento específico de otra clase, llamada interface o protocolo. Una interface puede ser realizada por muchas clases Una clase concreta puede implementar muchas interfaces <<Interfaz >> estereotipo <<Interfaz >> Forma Clase concreta FormaRectángulo Yalú Galicia Hdez. (FCC/BUAP) 52

Una interface es como una clase abstracta, sólo que todos sus métodos son siempre abstractos. Las interfaces son utilizadas para definir roles representados por objetos. Una misma persona puede jugar varios roles como por ejemplo: maestro, padre, hermano, esposo, etc. De esta forma, la relación de realización que se establece entre la clase y la interface es también una relación es-un Yalú Galicia Hdez. (FCC/BUAP) 53

Seres vivos <<Interfaz >> Ciudadano Ser humano <<Interfaz >> Empleado persona Una clase puede heredar de solo una clase, pero puede implementar muchas interfaces Yalú Galicia Hdez. (FCC/BUAP) 54

Yalú Galicia Hdez. (FCC/BUAP) 55