依赖,关联

前端之家收集整理的这篇文章主要介绍了依赖,关联前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

组合,聚合,关联,依赖 的区别

依赖(Dependency)

定义:

是类与类之间的连接,表示一个类依赖于另外一个类的定义;依赖关系仅仅描述了类与类之间的一种使用与被使用的关系;

代码示例:

public class A{
        public void mehtod(B b)
          {
             b.writer();
          }
     }

A这个类方法method的使用依赖于B,没有B method这个方法无法实现。即A中method这个方法使用到了B。

简而言之:若A的目标要完成某一操作,有必要运用B的目标的某些操作来帮助,才能完成。B是作为A的某个方法的参数存在。

依赖是两个类,使用与被使用的关系

关联(Association)

含义:

类与类之间的连结,关联关系使一个类知道另外一个类的属性方法;通常含有“知道”,“了解”的含义。关联可以是双向的,也可以是单向的

代码

public class A{
   private B b;
   public B getB()
   {
     return b;
   }
   public void setB(B b)
   {
     this.b=b;
   }
   public void mehtod()
   {
    b.writer();
   }
}

代码可知:
B是作为A的特点,属性存在。
依赖和关联的区别在于依赖是使用,关联是拥有。

  1. 关联表明has-a联系,如学生有一个课程,往往表明B作为A的特点存在
  2. 依赖表名要做一件工作,离不开某个目标,往往表明B作为A的方法参数存在

看一下下边的代码可以进一步加深了解。

public class Student{
    private String name;
    private Course course;//Student关联Course
    private Student(String name){
        super();
        this.name=name;
    }
    //依赖关系:Student依赖Course
    public void chooseCourse(Course course){
        this.course=course;
    }
}

猜你在找的设计模式相关文章