类的六种关系

Posted superlsj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的六种关系相关的知识,希望对你有一定的参考价值。

一、依赖关系

  只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都通过不了。一下情况视为对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类对象也会被实例化。所以一个是空心菱形,一个是实心菱形。

 

以上是关于类的六种关系的主要内容,如果未能解决你的问题,请参考以下文章

类图中的六种关系

JS定义类的六种方式详解

JS定义类的六种方式详解

UML类图中的六种线条与六种关系

UML的六种关系

Java连载60-类之间的六种关系