Cuatro tipos de relaciones entre clases (objetos)

Cuatro tipos de relaciones entre clases (objetos)

1. Dependencia (Dependency)

La llamada dependencia significa que la función de un objeto depende de otro Un objeto, y el objeto dependiente solo se usa como herramienta y no tiene una referencia a él.

Por ejemplo:

Una persona necesita respirar constantemente desde su nacimiento, y la razón por la cual la función respiratoria humana puede mantener la vida es que el gas inhalado juega un papel importante, por lo que el aire es solo una herramienta del ser humano, no una referencia a él.

2. Asociación (Asociación)

Un objeto mantendrá una referencia a otro objeto durante mucho tiempo y la relación entre los dos suele ser mutua.

Los dos objetos asociados no tienen restricciones obligatorias entre sí, siempre que estén de acuerdo, la relación puede terminarse o asociarse en cualquier momento. No tienen restricciones obligatorias en cuestiones de ciclo de vida. están asociados. Los objetos también se pueden asociar con otros objetos, por lo que la asociación se puede compartir.

Por ejemplo:

La gente sigue haciendo amigos desde el nacimiento hasta la muerte. Sin embargo, no hay razón para pensar que la vida y la muerte de mis amigos estén relacionadas con mi vida y mi muerte. sus ciclos de vida no están relacionados. Mis amigos pueden ser amigos de otras personas, por lo que se puede disfrutar de los amigos.

3. Agregación

La agregación es una versión fuerte de la asociación

Implica una relación de propiedad y una relación de ciclo de vida

Objetos agregados También se puede asociar con otros objetos, por lo que los objetos agregados se pueden compartir. Aunque es más compartida, la agregación representa una relación más íntima.

Ejemplo:

Existe una fuerte relación de pertenencia entre mi hogar y yo. Mi casa se puede compartir, pero compartir aquí se puede dividir en dos tipos:

Uno: ¿Compartir entre reuniones? Así como usted y su esposa tienen la misma conexión fuerte con esta casa.

Segundo: agregación e intercambio relacionado Si tu amigo viene a tu casa para una comida informal, probablemente no le darás la llave de tu casa.

4. Relación de combinación (composición)

La composición es la versión más sólida de la relación. Requiere directamente que el objeto contenedor sea propietario del objeto contenido y del ciclo de vida del objeto contenedor. la relación del objeto contenido.

El objeto incluido también puede asociarse con otros objetos

Por lo tanto, el objeto incluido puede ser *compartido

Sin embargo, nunca son dos El disfrute del objeto que lo contiene del mismo objeto incluido

Ejemplo:

La relación de combinación es la relación entre el todo y la parte, y la parte pertenece al todo

El todo no Para existir, la parte no debe existir, pero el todo puede existir incluso si la parte no existe.

Para decirlo más claramente, la parte debe crearse después de que se crea el todo, pero destruirse antes de que se destruya el todo.

/**

* La llamada relación de dependencia significa que un objeto depende de una determinada función o atributo de otro objeto, es decir, el dependiente trata al dependiente. Herramientas a utilizar,

*El dependiente no pertenece al dependiente.

Dependencia de clase pública {

public static void main(String[] args) {

Persona humana = new Human();

mientras(verdadero){

persona,aliento();

}

}

}

/**

*Pertenece a un dependiente

*@autor Administrador

*

*/

clase Humano{

aliento vacío público(){

Aire frescoAir = aire nuevo();

aire fresco.provideOxygen();

System.out.println("Respira");

System.out.println("Respira");

}

}

/**

*Pertenece al dependiente

*@autor Administrador

*

* /

class Air{

public void provideOxygen(){

System.out.println("Se libera una ola de oxígeno");

}

}

import java.util.ArrayList;

2. Asociaciones

/**

* La llamada asociación significa que un objeto mantiene una referencia a otro objeto durante mucho tiempo,

y la asociación previa entre ambos es mutua,

La dos objetos asociados entre sí No existen restricciones obligatorias entre ellos

Siempre que las dos partes estén de acuerdo, la asociación puede terminar en cualquier momento

Y no hay acuerdo. en su ciclo de vida.

El objeto asociado es un recurso compartido y también se puede asociar con otros objetos.

* @author Administrador

*

*/

Asociación de clase pública {

pública estática void principal (String[] args) {

Human$ persona = new Human$();

Escuela zhengZhouHighSchool = nueva Escuela();

while(true) {

persona.makeFriend(zhengZhouHighSchool.getStudent());

}

}

}

class Human${

ArrayList amigos = new ArrayList();

public void makeFriend(Human$ hunman$){

amigos.add(hunman$) ;

}

}

clase Escuela{

public Human$ getStudent(){

return nuevo Human$();

}

}

Tres relaciones de agregación

* @author Administrador

* Existe una relación relativamente estrecha entre mi familia y yo, y mi familia puede ser compartida. Yo voy a casa y mi familia va a casa. Este tipo de compartir tiene un alto grado de intimidad.

*Los amigos van a mi casa. En casa, la intimidad es menor que la que existe entre mi familia y yo.

*/

Agregación de clases públicas {

public static void main(String[] args) {

Humano

person=newHuman

();

while(true){

//Comer

//Ir a la escuela

//Se acabaron las clases

person.goHome();

}

}

}

class Human$${

Inicio myHome = new Home();

public void goHome(){

myHome.openDoor( );

p>

}

}

clase Inicio{

public void openDoor(){

}

}

import java.util.ArrayList;

¿Cuatro? Relación de combinación

* @author Administrador

* La relación de combinación es La relación entre el todo y la parte, la parte pertenece al todo, si el todo no existe, la parte no debe existir

* Entonces el todo aún puede sobrevivir si la parte no existe

* La parte existe después de que se crea el todo, Las partes se destruyen antes de que se destruya el todo.

*/

composición de clase pública {

public static void main(String[] args) {

Humano

$persona=nuevoHumano

$();

while(true){

persona.corazón.beat();

}

}

}

clase Humano$$${

Corazón corazón = nuevo Corazón();

}

clase Corazón{

public void beat(){

}

}

idiomática china All rights reserved