java类与类之间的关系

java类之间的关系

在java的面向对象的设计模式中,类与类之间的关系主要有6种。分别是依赖,关联,聚合,组合,继承,实现。其中,关联,聚合,组合仅仅在语义上有区别,在编程环境中的语法是一样的。

依赖(Dependence)

它是一种use-a关系,表示一个类A用到了类B,也就是类A依赖类B。依赖关系在JAVA中体现为局部变量、方法的形参,或者对静态方法的调用。

1
2
3
4
5
6
7
8
9
class A{
public void t(B b){

}
}

class B{

}

关联关系(Association)

一种连接关系,它使一个类知道另一个的属性和方法。在java中体现为成员变量。关联关系可以有单向关联和双向关联。

1
2
3
4
5
6
7
8
9
10
class A{
B b;
public void t(){

}
}

class B{

}

聚合关系(Aggregation)

一种has-a关系,关联关系的一种,是整体和个体之间的关系,聚合关系的整体和个体是可分的,他们具有各自的生命周期。在java中表现形式与关联关系一致,只是语义上有区别。

1
2
3
4
5
6
7
8
9
class A{
B b; //整体(A)和部分(B) 
public void t(){

}
}
class B{

}

组合关系(Composition)

一种contain-a关系,也是关联关系的一种。它表示的也是一种整体和部分的关系,但是整体和部分是不可分割的,具有相同的生命周期。在java中表现形式与关联关系一致,只是语义上有区别。

继承(Inheritance)

“is-a”关系,用于表示一般和特殊之间的关系,在java中,表示类与类之间的父子关系,用extends关键字表示。

1
2
3
4
5
6
class A{

}
class B extends B{

}

实现(Implementation)

表示一个类实现一个或多个接口,由实现类去完成接口的具体操作,在java中用关键字implementsbia表示。

1
2
3
4
5
6
interface A{

}
class B implements A{

}
文章目录
  1. 1. java类之间的关系
    1. 1.1. 依赖(Dependence)
    2. 1.2. 关联关系(Association)
    3. 1.3. 聚合关系(Aggregation)
    4. 1.4. 组合关系(Composition)
    5. 1.5. 继承(Inheritance)
    6. 1.6. 实现(Implementation)
|
载入天数...载入时分秒...