类之间的关系

来源:互联网 发布:js动态添加click事件 编辑:程序博客网 时间:2024/04/26 22:08

package com.jalja.demo;
import java.util.List;
/**
 * 依赖关系
 * 依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用。
 * 通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数
 * **/
public class Person {
  public void screw(ScrewDriver scre){ //使用螺丝刀   
 }
  }
//螺丝刀
 class ScrewDriver{ }
 /**
  * 聚合
  * 聚合是较强的关联关系,强调的是整体与部分 之间的关系。例如,学校和学生的关系。
  *   聚合的整体和部分之间在生命周期上没有什么必然的联系,部分对象可以在整体对象创建之前创建,也可以在整体对象销毁之后销毁。
  * **/
 class Schoole{
private List<Student>students;
 }
 class Student{}
 
 /***
  * 是一种结构关系,说明一个事物的对象与另一个事物的对象相联系
  * 两个类之间的简单关联表示了两个同等地位类之间的结构关系。当你想要表示结构化关系时使用关联。(可以想想Hibernate的关联关系)
  * **/
 class Company{
private Employee employee;
 }
 //员工
 class Employee{}
 /**
  * 组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期是一致的,整体负责部分的生命周期的管理。
  * 生命周期一致指的是部分必须在组合创建的同时或者之后创建,在组合销毁之前或者同时销毁,部分的生命周期不会超出组合的生命周期。
  * 例如Windows的窗口和窗口上的菜单就是组合关系。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被
  * 例如:
  * 菜单的存在前提是窗口的存在,两者之间存在很强的拥有关系。且窗口对菜单的生命周期负责,只有在窗口创建之后,菜单才能够创建,
  * 菜单必须在窗口销毁之前销毁。因此Window与Menu之间是组合关系
  * **/
 class Menu{}
 class Windows{
private List<Menu>menus;
 }
  

0 0