类的六种关系

一、依赖关系

  只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都通过不了。一下情况视为对A类对B类的依赖关系:

  1)B类是A类的成员属性

  2)B类是A类某方法的返回值类型

  3)B类值A类某方法的参数类型

  4)B类是A类的某方法的局部变量(排除形参),此用法违反了迪米特法则

  

二、泛化关系

  泛化关系是依赖关系的特例,就是继承关系。

  

三、实现关系

  类实现接口

  

 四、关联关系

  关联关系也是依赖关系的一种特例【双向的依赖关系】

  

  

 五、聚合关系

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

六、组合关系

public class A{
   private B b = new B();
}
class B{
} 

  聚合与组合的区别就是A类聚合B类,当A类创建对象时,作为其成员属性的B类对象并不会实例化。而A组合B类,当A类创建对象时,作为其成员属性的B类对象也会被实例化。所以一个是空心菱形,一个是实心菱形。

原文地址:https://www.cnblogs.com/superlsj/p/11698420.html