SlideShare una empresa de Scribd logo
1 de 44
Unidad 4
HERENCIA, CLASES ABSTRACTAS, INTERFACES Y
POLIMORFISMO
UML
• UML (Unified
Modeling Language) es
un lenguaje que
permite modelar,
construir y
documentar los
elementos que forman
un sistema software
orientado a objetos.
UML
CONSTRUIR
VISUALIZAR
DOCUMENTAR
ESPECIFICAR
UML
• Diagramas de estructura enfatizan en los elementos
que deben existir en el sistema modelado:
• Diagrama de clases
• Diagrama de componentes
• Diagrama de objetos
• Diagrama de estructura compuesta (UML 2.0)
• Diagrama de despliegue
• Diagrama de paquetes
Diagrama de clases
• Diagrama estático que describe la estructura de un
sistema mostrando sus clases, atributos y las
relaciones entre ellos.
• Son utilizados durante el proceso de análisis y
diseño de los sistemas para crear el diseño
conceptual de la información que se manejará.
Representación de clases
• En UML, una clase es representada por un
rectángulo que posee tres divisiones
Ejemplo
Representación de Atributos y
Métodos
• Los atributos y los métodos de una clase pueden ser de
tres tipos, que definen su grado de comunicación y
visibilidad con el entorno, estos son:
• Public (+): el atributo será visible tanto dentro como
fuera de la clase.
• Private (-): el atributo sólo será accesible desde dentro
de la clase (sólo sus métodos pueden manipular los
atributos).
• Protected (#): el atributo no será accesible desde fuera
de la clase, pero si podrá ser manipulado por métodos
de la clase y de sus subclases.
• Static (underlined)
Ejercicio
• Crear un proyecto UML llamado Asociacion en el
que se diseñe un diagrama de clases que modele el
proceso de dar de alta a cada una de las personas
que se apuntan a una asociación.
• De cada persona interesa saber sus datos básicos:
DNI, nombre completo y fecha de nacimiento.
Cuando cada nuevo socio se da de alta, se le asigna
un código de asociado alfanumérico y se anota la
fecha de alta.
• La clase Fecha se modela con tres campos (día, mes
y año) de tipo entero.
Ejercicio
• Se desea diseñar un diagrama de clases sobre la
información de las reservas de una empresa
dedicada al alquiler de automóviles, teniendo en
cuenta que:
• Es importante registrar la fecha de inicio y la fecha
final de la reserva, el precio de alquiler de cada
auto, litros de gasolina al momento de la reserva.
• Todo auto siempre tiene asignado un garaje que no
puede cambiar. De cada auto se requiere la
matrícula, modelo, color y marca.
• Cada reserva se realiza en una determinada agencia
Ejercicio
• Representa mediante un diagrama de clases la siguiente
especificación sobre las personas que participan en una película:
• De cada película se almacena el título, la sinopsis, el año, el
género al que pertenece (drama, comedia, acción, terror,
romance, aventura, scifi) y el país.
• Sobre las personas que participan en la película es necesario
conocer el nombre, los apellidos, la fecha de nacimiento y la
nacionalidad.
• Una persona puede participar en una película como actor,
director, productor o guionista.
• Una persona se considera actor si ha actuado al menos en una
película.
• Una película puede tener asociados varios trailers que son
editados por una o más personas. No puede existir el trailer de
una película hasta que existe la película.
Interacciones entre clases
(relaciones)
• Herencia (Especialización/Generalización):
• Composición:
• Agregación:
• Dependencia o Instanciación (uso):
• Asociación:
• Involutiva
Relaciones Involutivas
• Cuando la misma clase aparece en los dos extremos
de la asociación.
Agregación
• La agregación es un tipo de asociación que indica
que una clase es parte de otra clase.
• Los componentes pueden ser compartidos por
varios compuestos.
• La destrucción del compuesto no conlleva la
destrucción de los componentes.
Una empresa agrupa a
varios clientes
Composición
• Tipo de asociación fuerte donde la vida de la clase
contenida debe coincidir con la vida de la clase
contenedor.
• Los componentes constituyen una parte del objeto
compuesto.
• Los componentes no pueden ser compartidos por
varios objetos compuestos.
• Si se elimina los objetos compuestos, se eliminan
también sus componentes.
Composición
Composición
• Tenemos una clase Empresa.
• Un objeto Empresa está a su vez
compuesto por uno o varios objetos del
tipo empleado.
• El tiempo de vida de los objetos
Empleado depende del tiempo de vida
de Empresa, ya que si no existe una
Empresa no pueden existir sus
empleados.
Diferencias entre Composición y
Agregación
Agregación Composición
Varias asociaciones
comparten los
componentes
Sí No
Destrucción de los
componentes al destruir
el compuesto
No Sí
Cardinalidad a nivel
compuesto
Cualquiera 0..1 ó 1
Representación Rombo transparente Rombo negro
Dependencia
• Es una relación de uso entre dos clases (una usa a
la otra). Esta relación es la más básica entre clases y
comparada con los demás tipos de relación, la mas
débil.
• Tenemos una clase Impresora..
• Tenemos una clase Documento con un atributo texto.
• La clase Impresora se encarga de imprimir los Documentos.
Dependencia
• La ClaseA usa a la ClaseB.
• La ClaseA depende de la ClaseB.
• Dada la dependencia, todo cambio en la ClaseB podrá
afectar a la ClaseA.
• se interpreta como que la ClaseA hace uso de la ClaseB ya
sea instanciandola directamente, o
bien, recibiéndola como parámetro de entrada en uno de
sus métodos.
Herencia
• La relación entre super clases y subclases
Adicionales
• Los elementos adicionales que pueden aparecer en
una relación de este tipo son los siguientes:
• Rol: Identifica con nombres a los elementos que
aparecen en los extremos de la línea que denota la
relación, dicho nombre describe la semántica que
tiene la relación en el sentido indicado.
• Multiplicidad: La multiplicidad de una relación
determina cuantos objetos de cada tipo intervienen
en la relación. Presenta las siguientes
características:
Multiplicidad
• Cada asociación tiene dos multiplicidades (una para cada
extremo de la relación)
• Para especificar hay que indicar que la multiplicidad mínima
y máxima (mínima...máxima)
• Una multiplicidad mínima mayor igual que 1 establece una
relación obligatoria
Herencia
• Tipo especial de relación entre clases
• Es uno de los aspectos que distinguen el Paradigma
de Orientación a Objetos frente a otros paradigmas
• Mecanismo que, bien utilizado, facilita la
modificabilidad y reutilización de los diseños y el
código.
• La Herencia es uno de los 4 pilares de la
programación orientada a objetos (POO) junto con
la Abstracción, Encapsulación y Polimorfismo
¿En qué consiste?
• En un principio, existen dos clases, a las que
llamaremos padre (superclase o clase base) e hija
(subclase o clase derivada).
• Al igual que las herencias en la vida real, la clase
hija pasa a tener lo que tiene la clase padre:
• Atributos
• Métodos
• Un objeto de la clase hija es también un objeto de
la clase padre.
• En la clase hija se definen las diferencias respecto
de la clase padre.
¿En qué consiste?
• Si una clase B hereda de otra clase A
entonces:
• B incorpora la estructura (atributos) y
comportamiento (métodos) de la clase A.
• B puede incluir adaptaciones:
• B puede añadir nuevos atributos
• B puede añadir nuevos métodos
• B puede redefinir métodos
El proceso de herencia es
transitivo
• B puede redefinir métodos
• B hereda de A
• A es la superclase y B la subclase
• C hereda de B y A
• B y C son subclases de A
• B es un descendiente directo de A
• C es un descendiente indirecto de A
Ejemplo
• Por ejemplo en un proyecto que utilice objetos Taxi
y objetos Autobus podríamos encontrarnos algo
así:
Un ejemplo
¿Para qué se usa?
• Para extender la funcionalidad de la clase padre.
• Para especializar el comportamiento de la clase
padre.
• Ventajas
• Se ahorra código Permite reutilizar código extendiendo
su funcionalidad
Desventajas
• Se introduce una fuerte dependencia en la clase hija
respecto a la clase padre
• Un cambio en la clase padre puede tener efectos
imprevistos en las clases hijas
• Un objeto de una clase hija puede tener un
comportamiento inconsistente con lo esperado de un
objeto de la clase padre
• Se establece una jerarquía o clasificación.
• Si cambia el criterio de clasificación puede acarrear
muchas modificaciones
Tipos de herencia
• Herencia simple
• Una clase puede heredar de una única
clase
• Herencia múltiple
• Una clase puede heredar de varias
clases. Cabe decir también que en java
no se permite la herencia múltiple
Ejemplo
Diseño de jerarquías de herencia
• Generalización (Factorización )
• Se detectan clases con un comportamiento común
• Ejemplo: Libro y Revista son Publicaciones
• Especialización (Abstracción )
• Se detecta que una clase es un caso especial de
otra
• Ejemplo: Rectángulo es un tipo de Polígono
Caso de estudio
• Representa mediante un diagrama de clases la
siguiente especificación sobre una empresa:
• Una aplicación necesita almacenar información
sobre empresas, sus empleados y sus clientes.
• Ambos se caracterizan por su nombre y edad.
• Los empleados tienen un sueldo bruto, los
empleados que son directivos tienen una categoría,
así como un conjunto de empleados subordinados.
• De los clientes además se necesita conocer su
teléfono de contacto.
• La aplicación necesita mostrar los datos de
empleados y clientes
Solución
Caso de estudio
• Representa mediante un diagrama de clases la siguiente especificación
relacionada con una aplicación de gestión de pedidos. Dicha aplicación
debe guardar la información de los pedidos que realizan sus clientes y la
fecha en que se formalizan.
• Los pedidos constan habitualmente de varios productos. El coste total
del pedido se calcula a partir de los precios individuales de cada
producto, así como de la cantidad e impuestos asociados a cada uno. Es
importante mantener información sobre las existencias de cada
producto con el fin de poder informar al cliente si habrá retrasos en la
entrega del pedido.
• El pedido podrá pagarse de una vez o en varios pagos.
• Las formas de pago posible son:
• Tarjeta de crédito (fecha de caducidad, número, VISA o MASTERCARD)
• Efectivo (moneda)
• Cheque (nombre, entidad bancaria)
• El pedido podrá estar en uno de los siguientes estados:
• pendiente, pagado, procesando, enviado y entregado.

Más contenido relacionado

La actualidad más candente

POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Casos prácticos de uml
Casos prácticos de umlCasos prácticos de uml
Casos prácticos de umlsemillachile
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 

La actualidad más candente (20)

POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Casos prácticos de uml
Casos prácticos de umlCasos prácticos de uml
Casos prácticos de uml
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Diagramas de comportamientos
Diagramas de comportamientosDiagramas de comportamientos
Diagramas de comportamientos
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 

Destacado (7)

Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
 
Unidad 2 Sintaxis en java
Unidad 2 Sintaxis en javaUnidad 2 Sintaxis en java
Unidad 2 Sintaxis en java
 
Clase8-Estadística
Clase8-EstadísticaClase8-Estadística
Clase8-Estadística
 
Clase7-Estadística
Clase7-EstadísticaClase7-Estadística
Clase7-Estadística
 
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOSUnidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
 
Clase6 Estadística
Clase6 EstadísticaClase6 Estadística
Clase6 Estadística
 

Similar a Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML

3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdfRicardoOByrne1
 
S03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaS03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaelvisalberto2
 
Análisis y diseño de sistemas sesion 03 - modelado de dominio
Análisis y diseño de sistemas   sesion 03 - modelado de dominioAnálisis y diseño de sistemas   sesion 03 - modelado de dominio
Análisis y diseño de sistemas sesion 03 - modelado de dominioGianfrancoEduardoBra
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bdMaría Luisa Velasco
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado umlevelyna villamar
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Servicio Tecnico de Computadoras
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Action script 3_basic
Action script 3_basicAction script 3_basic
Action script 3_basicEdna Rheiner
 
Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en javaGuille Villaf
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxDELIAMARINAHERAZOTUI
 

Similar a Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML (20)

3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
 
S03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaS03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herencia
 
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
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Análisis y diseño de sistemas sesion 03 - modelado de dominio
Análisis y diseño de sistemas   sesion 03 - modelado de dominioAnálisis y diseño de sistemas   sesion 03 - modelado de dominio
Análisis y diseño de sistemas sesion 03 - modelado de dominio
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bd
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Clase 17
Clase 17Clase 17
Clase 17
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
Action script 3_basic
Action script 3_basicAction script 3_basic
Action script 3_basic
 
Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en java
 
Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
 

Más de Cindy Adriana Bohórquez Santana

265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...Cindy Adriana Bohórquez Santana
 

Más de Cindy Adriana Bohórquez Santana (20)

Proyecto parcial1t2018
Proyecto parcial1t2018Proyecto parcial1t2018
Proyecto parcial1t2018
 
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
 
20152 sfiec030121 1
20152 sfiec030121 120152 sfiec030121 1
20152 sfiec030121 1
 
4 estructuras enlazadas
4 estructuras enlazadas4 estructuras enlazadas
4 estructuras enlazadas
 
12 conjuntos mapas1t2018
12 conjuntos mapas1t201812 conjuntos mapas1t2018
12 conjuntos mapas1t2018
 
11 colas prioridad1t2018
11 colas prioridad1t201811 colas prioridad1t2018
11 colas prioridad1t2018
 
10 colas1 t2018
10 colas1 t201810 colas1 t2018
10 colas1 t2018
 
09 pilas aplicaciones1t2018
09 pilas aplicaciones1t201809 pilas aplicaciones1t2018
09 pilas aplicaciones1t2018
 
08 pilas1 t2018
08 pilas1 t201808 pilas1 t2018
08 pilas1 t2018
 
06 listas1 t2018
06 listas1 t201806 listas1 t2018
06 listas1 t2018
 
05 listas1 t2018
05 listas1 t201805 listas1 t2018
05 listas1 t2018
 
04 recursividad1 t2018
04 recursividad1 t201804 recursividad1 t2018
04 recursividad1 t2018
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
02 tda1 t2018
02 tda1 t201802 tda1 t2018
02 tda1 t2018
 
Teoria basica probabilidad_2015_4_ed
Teoria basica probabilidad_2015_4_edTeoria basica probabilidad_2015_4_ed
Teoria basica probabilidad_2015_4_ed
 
Tema3 probabilidades
Tema3 probabilidadesTema3 probabilidades
Tema3 probabilidades
 
Ejercicios calculo probabilidades
Ejercicios calculo probabilidadesEjercicios calculo probabilidades
Ejercicios calculo probabilidades
 
5 conceptos de probabilidad (ii)
5 conceptos de probabilidad (ii)5 conceptos de probabilidad (ii)
5 conceptos de probabilidad (ii)
 
424052848.tp 02 probabilidad
424052848.tp 02 probabilidad424052848.tp 02 probabilidad
424052848.tp 02 probabilidad
 
Ppt cap2b Estadística
Ppt cap2b EstadísticaPpt cap2b Estadística
Ppt cap2b Estadística
 

Último

TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariasusafy7
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdfnicolascastaneda8
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONJuan Carlos Meza Molina
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 

Último (20)

TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 

Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML

  • 1. Unidad 4 HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO
  • 2. UML • UML (Unified Modeling Language) es un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos. UML CONSTRUIR VISUALIZAR DOCUMENTAR ESPECIFICAR
  • 3. UML • Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado: • Diagrama de clases • Diagrama de componentes • Diagrama de objetos • Diagrama de estructura compuesta (UML 2.0) • Diagrama de despliegue • Diagrama de paquetes
  • 4. Diagrama de clases • Diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. • Son utilizados durante el proceso de análisis y diseño de los sistemas para crear el diseño conceptual de la información que se manejará.
  • 5. Representación de clases • En UML, una clase es representada por un rectángulo que posee tres divisiones
  • 7. Representación de Atributos y Métodos • Los atributos y los métodos de una clase pueden ser de tres tipos, que definen su grado de comunicación y visibilidad con el entorno, estos son: • Public (+): el atributo será visible tanto dentro como fuera de la clase. • Private (-): el atributo sólo será accesible desde dentro de la clase (sólo sus métodos pueden manipular los atributos). • Protected (#): el atributo no será accesible desde fuera de la clase, pero si podrá ser manipulado por métodos de la clase y de sus subclases. • Static (underlined)
  • 8.
  • 9. Ejercicio • Crear un proyecto UML llamado Asociacion en el que se diseñe un diagrama de clases que modele el proceso de dar de alta a cada una de las personas que se apuntan a una asociación. • De cada persona interesa saber sus datos básicos: DNI, nombre completo y fecha de nacimiento. Cuando cada nuevo socio se da de alta, se le asigna un código de asociado alfanumérico y se anota la fecha de alta. • La clase Fecha se modela con tres campos (día, mes y año) de tipo entero.
  • 10. Ejercicio • Se desea diseñar un diagrama de clases sobre la información de las reservas de una empresa dedicada al alquiler de automóviles, teniendo en cuenta que: • Es importante registrar la fecha de inicio y la fecha final de la reserva, el precio de alquiler de cada auto, litros de gasolina al momento de la reserva. • Todo auto siempre tiene asignado un garaje que no puede cambiar. De cada auto se requiere la matrícula, modelo, color y marca. • Cada reserva se realiza en una determinada agencia
  • 11. Ejercicio • Representa mediante un diagrama de clases la siguiente especificación sobre las personas que participan en una película: • De cada película se almacena el título, la sinopsis, el año, el género al que pertenece (drama, comedia, acción, terror, romance, aventura, scifi) y el país. • Sobre las personas que participan en la película es necesario conocer el nombre, los apellidos, la fecha de nacimiento y la nacionalidad. • Una persona puede participar en una película como actor, director, productor o guionista. • Una persona se considera actor si ha actuado al menos en una película. • Una película puede tener asociados varios trailers que son editados por una o más personas. No puede existir el trailer de una película hasta que existe la película.
  • 12.
  • 13.
  • 14. Interacciones entre clases (relaciones) • Herencia (Especialización/Generalización): • Composición: • Agregación: • Dependencia o Instanciación (uso): • Asociación: • Involutiva
  • 15. Relaciones Involutivas • Cuando la misma clase aparece en los dos extremos de la asociación.
  • 16. Agregación • La agregación es un tipo de asociación que indica que una clase es parte de otra clase. • Los componentes pueden ser compartidos por varios compuestos. • La destrucción del compuesto no conlleva la destrucción de los componentes. Una empresa agrupa a varios clientes
  • 17. Composición • Tipo de asociación fuerte donde la vida de la clase contenida debe coincidir con la vida de la clase contenedor. • Los componentes constituyen una parte del objeto compuesto. • Los componentes no pueden ser compartidos por varios objetos compuestos. • Si se elimina los objetos compuestos, se eliminan también sus componentes.
  • 19. Composición • Tenemos una clase Empresa. • Un objeto Empresa está a su vez compuesto por uno o varios objetos del tipo empleado. • El tiempo de vida de los objetos Empleado depende del tiempo de vida de Empresa, ya que si no existe una Empresa no pueden existir sus empleados.
  • 20. Diferencias entre Composición y Agregación Agregación Composición Varias asociaciones comparten los componentes Sí No Destrucción de los componentes al destruir el compuesto No Sí Cardinalidad a nivel compuesto Cualquiera 0..1 ó 1 Representación Rombo transparente Rombo negro
  • 21. Dependencia • Es una relación de uso entre dos clases (una usa a la otra). Esta relación es la más básica entre clases y comparada con los demás tipos de relación, la mas débil. • Tenemos una clase Impresora.. • Tenemos una clase Documento con un atributo texto. • La clase Impresora se encarga de imprimir los Documentos.
  • 22. Dependencia • La ClaseA usa a la ClaseB. • La ClaseA depende de la ClaseB. • Dada la dependencia, todo cambio en la ClaseB podrá afectar a la ClaseA. • se interpreta como que la ClaseA hace uso de la ClaseB ya sea instanciandola directamente, o bien, recibiéndola como parámetro de entrada en uno de sus métodos.
  • 23. Herencia • La relación entre super clases y subclases
  • 24.
  • 25. Adicionales • Los elementos adicionales que pueden aparecer en una relación de este tipo son los siguientes: • Rol: Identifica con nombres a los elementos que aparecen en los extremos de la línea que denota la relación, dicho nombre describe la semántica que tiene la relación en el sentido indicado. • Multiplicidad: La multiplicidad de una relación determina cuantos objetos de cada tipo intervienen en la relación. Presenta las siguientes características:
  • 26. Multiplicidad • Cada asociación tiene dos multiplicidades (una para cada extremo de la relación) • Para especificar hay que indicar que la multiplicidad mínima y máxima (mínima...máxima) • Una multiplicidad mínima mayor igual que 1 establece una relación obligatoria
  • 27.
  • 28.
  • 29. Herencia • Tipo especial de relación entre clases • Es uno de los aspectos que distinguen el Paradigma de Orientación a Objetos frente a otros paradigmas • Mecanismo que, bien utilizado, facilita la modificabilidad y reutilización de los diseños y el código. • La Herencia es uno de los 4 pilares de la programación orientada a objetos (POO) junto con la Abstracción, Encapsulación y Polimorfismo
  • 30. ¿En qué consiste? • En un principio, existen dos clases, a las que llamaremos padre (superclase o clase base) e hija (subclase o clase derivada). • Al igual que las herencias en la vida real, la clase hija pasa a tener lo que tiene la clase padre: • Atributos • Métodos • Un objeto de la clase hija es también un objeto de la clase padre. • En la clase hija se definen las diferencias respecto de la clase padre.
  • 31. ¿En qué consiste? • Si una clase B hereda de otra clase A entonces: • B incorpora la estructura (atributos) y comportamiento (métodos) de la clase A. • B puede incluir adaptaciones: • B puede añadir nuevos atributos • B puede añadir nuevos métodos • B puede redefinir métodos
  • 32. El proceso de herencia es transitivo • B puede redefinir métodos • B hereda de A • A es la superclase y B la subclase • C hereda de B y A • B y C son subclases de A • B es un descendiente directo de A • C es un descendiente indirecto de A
  • 33.
  • 34. Ejemplo • Por ejemplo en un proyecto que utilice objetos Taxi y objetos Autobus podríamos encontrarnos algo así:
  • 36.
  • 37. ¿Para qué se usa? • Para extender la funcionalidad de la clase padre. • Para especializar el comportamiento de la clase padre. • Ventajas • Se ahorra código Permite reutilizar código extendiendo su funcionalidad
  • 38. Desventajas • Se introduce una fuerte dependencia en la clase hija respecto a la clase padre • Un cambio en la clase padre puede tener efectos imprevistos en las clases hijas • Un objeto de una clase hija puede tener un comportamiento inconsistente con lo esperado de un objeto de la clase padre • Se establece una jerarquía o clasificación. • Si cambia el criterio de clasificación puede acarrear muchas modificaciones
  • 39. Tipos de herencia • Herencia simple • Una clase puede heredar de una única clase • Herencia múltiple • Una clase puede heredar de varias clases. Cabe decir también que en java no se permite la herencia múltiple
  • 41. Diseño de jerarquías de herencia • Generalización (Factorización ) • Se detectan clases con un comportamiento común • Ejemplo: Libro y Revista son Publicaciones • Especialización (Abstracción ) • Se detecta que una clase es un caso especial de otra • Ejemplo: Rectángulo es un tipo de Polígono
  • 42. Caso de estudio • Representa mediante un diagrama de clases la siguiente especificación sobre una empresa: • Una aplicación necesita almacenar información sobre empresas, sus empleados y sus clientes. • Ambos se caracterizan por su nombre y edad. • Los empleados tienen un sueldo bruto, los empleados que son directivos tienen una categoría, así como un conjunto de empleados subordinados. • De los clientes además se necesita conocer su teléfono de contacto. • La aplicación necesita mostrar los datos de empleados y clientes
  • 44. Caso de estudio • Representa mediante un diagrama de clases la siguiente especificación relacionada con una aplicación de gestión de pedidos. Dicha aplicación debe guardar la información de los pedidos que realizan sus clientes y la fecha en que se formalizan. • Los pedidos constan habitualmente de varios productos. El coste total del pedido se calcula a partir de los precios individuales de cada producto, así como de la cantidad e impuestos asociados a cada uno. Es importante mantener información sobre las existencias de cada producto con el fin de poder informar al cliente si habrá retrasos en la entrega del pedido. • El pedido podrá pagarse de una vez o en varios pagos. • Las formas de pago posible son: • Tarjeta de crédito (fecha de caducidad, número, VISA o MASTERCARD) • Efectivo (moneda) • Cheque (nombre, entidad bancaria) • El pedido podrá estar en uno de los siguientes estados: • pendiente, pagado, procesando, enviado y entregado.