RELACIONES ENTRE CLASES COMPOSICIÓN – ASOCIACIÓN – USO – HERENCIA.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Normalizaciones de Bases de Datos
Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas
Lenguaje de programación Java
Relaciones entre Clases
UML 1.4 Peter Emerson Pinchao Solis.
Arquitectura CLARO-TECNOTREE
Polimorfismo Unidad 4.
INGENIERIA DE SOFTWARE II Trayecto III. Trimestre I
La Programación Orientado a Objetos
Herencia y Polimorfismo
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Modelo Entidad Relación E-R
DIAGRAMAS ENTIDAD RELACIÓN
CLASES, OBJETOS, HERENCIA y COMPOSICIÓN
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Herencia e Interfaces.
PROGRAMACION ORIENTADA A OBJETOS
Herencia y Polimorfismo en JAVA
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.

DEFINICIÓN  Es una forma de entender un problema identificando las entidades principales que se encuentran en el.  Es una forma de desarrollar un sistema.
Clase 03 ELEMENTOS DE COMPUTACIÓN Contenidos Objeto Clase Atributo Método Instancia Herencia Polimorfismo UML.
Herramientas de polimorfismo y herencia en C++
Diseño Orientado a Objetos (DOO) El DOO es un modelo de construcción de software basado no en la función que dicho software debe realizar sino en los Objetos.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
DIAGRAMAS ENTIDAD RELACIÓN
Diagrama de Clases ACI 570.
Modelo Entidad Relación
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
TEMA 9: DIAGRAMA DE CLASE EN UML
Detalles Generales sobre Java
Base de Datos I. El proceso por el que se definen las diferentes subclases de una superclase Ejemplo: Se requiere guardar la información de los empleados,
Introducción a la Programación Orientada a Objetos (POO)
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Base de Datos I. El proceso por el que se define una superclase a través de diferentes subclase. Ejemplo: Se tiene las entidades Cuenta de Ahorro y Cuenta.
DIAGRAMA DE CLASES.
UML Casos de Uso (repaso) y Diagramas de Clase
CONCEPTOS.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Programación Orientada a Objetos. Es importante aclarar desde un principio la diferencia que existe entre programación orientada a objetos y un lenguaje.
HERENCIA.
Sandra Muñoz Blanca González Patricia Lázaro
Diagrama de Clases Uno de los mas importantes entre los diagramas UML
Tipo 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,
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
La Programación Orientado a Objetos
Diagrama de Clases.
Fundamentos de Ingeniería de Software
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
Modelado UML Diagrama de Clases
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

RELACIONES ENTRE CLASES COMPOSICIÓN – ASOCIACIÓN – USO – HERENCIA

Definición de relaciones Una relación es un vinculo entre dos objetos, este vinculo, se presenta por que, ambos objetos, se necesitan mutuamente para lograr la realización de una actividad o la realización de unos servicios. Estas relaciones nacen por la misma dinámica social o por que la naturaleza así lo estableció. Que nunca se me olvide: LAS RELACIONES DEPENDEN DEL CONTEXTO “Dominio del Problema”

Definición de relaciones Empresa Pacientes Hijos Cuenta de Ahorro Sueldo Póliza de Seguro Vehículo Asignaturas es madre atiende trabaja para posee es propietaria tiene asignada devenga dirige PERSONA

Tipos de relaciones entre clases  Composición  Agregación  Asociación  Dependencia – Uso  Herencia

Composición (Definición) Se constituye entre el todo y la parte. La clase todo controla la existencia de las clases parte. Mientras existe el todo=existe la parte. Al crear un objeto del todo se crea un objeto de la parte Objeto A tiene un/posee un/contiene un objeto de la clase B Los objetos suelen estar compuestos de conjuntos de objetos más pequeños; un coche es un conjunto de motor y carrocería, un motor es un conjunto de piezas, y así sucesivamente. Si se elimina el todo se eliminan las partes. Contiene un atributo, que puede ser una colección y además de ello la clase que contiene la colección debe tener un método que agregue los elementos a la colección.

Composición (Notación) o La notación para representar las composiciones, es una línea con un rombo lleno en el extremo apuntando a la clase todo

Composición (Implementación) Public class Persona { private int id; private String nombre; private String apellido; public Cuenta cuenta = new Cuenta(); public int getId() { return id; } public void setId(int id) { this.id=id; } public string getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre=nombre; } public string getApellido() { return apellido; } public void setApellido(String apellido) { this.apellido=apellido; } public int getCuenta() { return cuenta; } public void setCuenta(Cuenta cuenta) { this.cuenta=cuenta; } public class Cuenta { private int numCuenta; private double saldo; public int getNumCuenta() { return NumCuenta; } public void setNumCuenta(int numCuenta) { this.numCuenta=numCuenta; } public double getSaldo() { return saldo; } public void setSaldo(double saldo) { this.saldo=saldo; }

Agregación (Definición) Existe una relación de agregación si en el enunciado del problema hay expresiones de la forma "tiene_un", "es_parte_de"... Se constituye entre el todo y la parte. La existencia del todo no condiciona la existencia de la parte. Si se elimina el todo NO se eliminan las partes. Contiene un atributo, que puede ser una colección, es decir un array, vector, etc, y además de ello la clase que contiene la colección debe tener un método que agregue los elementos a la colección.

Agregación (Notación) o La notación para representar las agregaciones, es una línea con un rombo vacío en el extremo apuntando a la clase todo

Agregación (Implementación) public class Automovil { private String placa; private int numPuertas; private String marca; private String modelo; public Motor motor; public String getPlaca() { } public void setPlaca(String placa) { } public int getNumPuertas() { } public void setNumPuertas(int num) { } public String getMarca() { } public void setMarca(String marca) { } public String getModelo() { } public void setModelo(String modelo) { } public class Motor { private int numMotor; private int revolucionesPorMin; public int getNumMotor() { } public void setNumMotor(int numMotor) { } public int getRevoluciones() { } public void setRevoluciones(int rev) { }

Dependencia (Definición) Es una relación de uso, es decir que una clase utiliza a otra. Y si esta última se altera, la anterior se puede ver afectada. Una clase depende de otra para llevar a cabo una tarea o para realizar su funcionamiento. es una relación momentánea que se establece entre un “cliente” y un “servidor”. La relación Dependencia también se conoce con el nombre uso Se pasa la creación del objeto como parámetro Este tipo de relación hace referencia, a los parámetros que se pasan en un método

Dependencia (Notación) o La notación para representar la dependencia, es una línea discontinua o Ej) La clase B necesita de un objeto de la clase A para llevar a cabo una funcionalidad, entonces la notación es:

Dependencia (Implementación) En un método de B aparece un objeto auxiliar como argumento

Dependencia (Implementación) public class Herramienta { private String nombre; private String funcionalidad; public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre=nombre; } public String getFuncionalidad() { return funcionalidad; } public void setFuncionalidad(String funcionalidad) { this.funcionalidad=funcionalidad; } public class Mecanico { ….. public void reparar() { Herramienta ob = new Herramienta() } …. }

Asociación (Definición) Son relaciones del tipo "pertenece_a" o "está_asociado_con". Una asociación representa una relación entre clases. Las asociaciones son los mecanismos que permite a los objetos comunicarse entre sí. se implementa ya sea declarando un atributo de tipo A en la clase B o haciendo un array de objetos de tipo A en la clase B. Normalmente la conexión entre los objetos se realiza recibiendo la referencia de uno de ellos en el constructor u otro método. Al menos un atributo de la clase B es una referencia a un objeto de la clase A Se deben indicar las cardinalidades

Asociación(Notación) Esta relación se representa en UML mediante una línea que une ambas clases

Asociación (Implementación) Se implementa introduciendo referencias a objetos de la clase destino de la relación como atributos de la clase origen Si la relación tiene cardinalidad superior a 1, será necesario utilizar una colección. public class Alcalde { private int identificacion; private String nombre; private String apellido; public Municipio gobierna; public int getIdentificacion() { } public void setIdentificacion(int identificacion) { } public String getNombre() { } public void setNombre(String nombre) { }

Herencia (Definición) Relaciones del tipo es un/ es una Permite que una clase obtenga la funcionalidad de otra añadiendo nuevos atributos y métodos (o modificando el comportamiento de los existentes) Clase A = Clase Base – Clase Padre - SuperClase Clase B = clase Derivada – Clase hija – subclase

Herencia (Definición) Un objeto de una subclase hereda todos los atributos y métodos de la superclase Una subclase es una forma restringida de una superclase

Herencia (Notación e implementación) Ingeniería Directa public class Estudiante{ } public class EstudianteGraduado extends Estudiante{ } public class EstudianteActivo extends Estudiante{ }

Herencia (Notación e implementación)

Herencia - Ejercicios Construya un diagrama de clase para la siguiente situación: 1.Una empresa dedicada a la venta de vehículos tiene a disposición de los clientes varias clases (camión, automóvil, buces para servicio municipal y buces para servicio intermunicipal). La empresa maneja información común para todas estas clases de vehículos, tales como: marca del vehículo, color del vehículo, placa del vehículo y modelo del vehículo. Para cada clase de vehículo maneja la siguiente información especifica: camión (capacidad y tipo de carga), automóvil (numero de puertas, disposición –particular, servicio público -, buces municipales (empresa, chofer, ruta), buces intermunicpales (empresa, chofer, ciudad origen, ciudad destino).

Herencia - Ejercicios Construya un diagrama de clase para la siguiente situación: 2. Una empresa maneja dos líneas de productos perecederos y no perecederos. La información que utiliza para llevar un registro de dichos productos es: IVA, nombre del producto, fecha de emisión (compuesta por subatributos – día/mes/año -) y precio del producto. Adicionalmente los productos perecederos manejan la siguiente información: fecha de vencimiento (compuesta por subatributos – día/mes/año -)

Herencia - Ejercicios Construya un diagrama de clase para la siguiente situación: 3. Un hospital necesita que se le organice la información que maneja en cuanto al personal que diariamente labora dentro de él y los pacientes que son atendidos. En cuanto a los empleados maneja la información como el Nombre, Dirección, Teléfono, Edad y los divide en dos categorías Médicos y Enfermeras, con respecto a estos maneja información como la fecha de ingreso, fecha de terminación del contrato (ambos compuesto de día/mes/año), hora de entrada, hora de salida y salario. Adicionalmente para los médicos maneja la siguiente información especialidad, nivel (1 menos de dos años, 2 entre 1 y 4 años y 3 más de tres años). En cuanto a las enfermeras se maneja la categoría (auxiliar, instrumentadora, profesional). Para los pacientes maneja la siguiente información: Nombre, Dirección, Teléfono, Edad, Fecha de ingreso, fecho de alta (ambos compuesto de día/mes/año), motivo de consulta, medicamentos