clases y objetos

Páginas: 14 (3319 palabras) Publicado: 24 de agosto de 2013
Tema 3: Relaciones entre objetos
y clases
Programación Orientada a Objetos
Marcos López Sanz

Máster en Informática Gráfica, Juegos y Realidad Virtual

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

Índice
Relaciones entre clases
Composición
Asociación
Uso

Herencia
Clases y objetos: vistas pública y privada
Clases y métodos especiales: finales abstractos y de envolturaInterfaces: declaración, implementación y herencia

Otros aspectos
Herencia vs. Composición
Polimorfismo: Instanciación dinámica/Herencia

Clases especiales

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

1

Relaciones entre clases
Colaboración entre dos objetos ≡ cuando un objeto lanza mensajes a
otro objeto
Relación entre dos clases ≡ cuando dos objetos de las respectivas
clases colaboranentre sí

m

objeto a

Clase B

en
sa
je

Clase A

objeto b

Plano de clases
(intangible, genérico)

Plano de objetos
(tangible, particular)

Tipos de relaciones entre clases:
Composición
Asociación
Uso
{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

Relaciones entre clases
Relación de composición
Se constituye entre el todo y la parte
Objeto de la clase A “tieneun/contiene un/posee un” objeto de la clase B
Cuestiones físicas (libro/páginas) y relaciones lógicas (propietario/casas)
Existe una delegación de ciertas responsabilidades del todo a la parte:
almacenamiento de datos o funcionalidades Suelen ser atributos de
una clase
La responsabilidad de manejar el objeto “interno” es exclusiva del objeto
contenedor

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©2

Relaciones entre clases
Relación de composición: Ejemplo
public class Radio
{
private final Antena antena = new Antena();
private Dial dial[] = new Dial[2];
private Display display;
public Radio(){
Dial.setOrigenOndas(this.antena);
this.dial[0]=new Dial(“FM”);
this.dial[1]=new Dial(“AM”);
}


}

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

Relaciones entre clasesRelación de uso
Se establece momentáneamente entre dos objetos (un cliente y un
servidor)
El objeto cliente utiliza funcionalidades (métodos/mensajes) del objeto
servidor para completar su cometido sin dependencias futuras suelen
ser variables de métodos:
• Visibilidad pública Parámetros
• Visibilidad privada Variables Locales
Delegación temporal de responsabilidades del cliente al servidorLa responsabilidad de manejar el objeto servidor no depende únicamente
del objeto cliente

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

3

Relaciones entre clases

Relación de uso: Ejemplo
public class Radio
{ …
public void moverDial (Cadena cadena)
{
this.Dial.setFrecuencia(cadena.getFrecuencia());
}
public Cadena getCadenaActual()
{
Cadena cad = new Cadena(this.Dial.getFrecuencia());
return cad;
}


}

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

Relaciones entre clases
Relación de asociación
Relación que perdura entre un cliente y un servidor determinado
Creación de una relación bidireccional entre dos objetos al cliente se
le pasa una referencia (en un constructor por ejemplo) de un objeto que
tiene existencia externa
Delegación de responsabilidadesdel cliente al servidor
La responsabilidad de manejar el objeto servidor no depende únicamente
del objeto cliente

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

4

Relaciones entre clases
Relación de asociación: Ejemplo
public class Radio
{ …
public Radio (Visor display)
{
this.display = display;
}
public void mostrarFrecuencia()
{this.display.visualizar(this.Dial.getFrecuencia());
}


}

{ MARCOS LÓPEZ SANZ }


Kybele, 2007 ©

Relaciones entre clases
Características de las relaciones
Visibilidad: carácter privado o público de la colaboración entre
objetos
Temporalidad: mayor o menor duración de la colaboración
Versatilidad: intercambiabilidad (modificación) de los objetos en
la colaboración con otro objeto
Privado

Uso

Momentáneo

No...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • CLASES Y OBJETOS
  • Objetos y Clases
  • clases y objetos
  • objetivos clase de estetica
  • objetivos de clase en matematicas
  • Programa clases y objetos
  • Objetos Y Clases (Programacion)
  • Clases de pruebas objetivas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS