UML的几个概念

类的交互关系

1.泛化(Generalization) 可以简单的理解为继承关系.

public class A {...}
public class B extend A

2.实现(Realization)一般是指接口和实现类之间的关系,可以理解为Java中的实现

public interface A {}
public B implements A {}

3.聚合(Aggregation)是一种包含关系

A类对象包含B类对象,B类对象的生命周期可以不依赖A的生命周期,也就是说单独销毁A类对象会影响B对象,比如课程与学生的关系
public Class A {
private B b;
public A (B b){
this.b=b;
}
}

4.组合(Composition)也是一种包含关系

A类对象包含B类对象,B类对象的生命周期依赖A类对象的生命周期,B类对象不可单独存在,比如人与心脏之间的关系
public class A {
private B b;
public A(){
this.b=new B();
}
}

5.关联(Assocition)是一种非常弱的关系,包含聚合,组合两种关系.

如果B类对象是A类的成员变量,那B类和A类就是关联关系.具体到Java代码就是下面这样
public class A {
private B b;
public A(b){
this.b=b;
}
}

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

或者
public class A (){
public void func(B b){
...
}
}

6.依赖(Dependency)是一种比关联更加弱的关系,包涵关联关系

不管是B类对象是A类对象的成员变量,还是A类的方法是用B类对象作为参数或者返回值,局部变量,只要B类对象和A类对象有任何的使用关系,我们都称它们具有依赖关系
public class A {
private B b;
public A(B b){
this.b=b;
}
}
或者
public class A {
private B b;
public A (){
this.b=new B ();
}
}
或者
public class A {
public void func(B b){...}
}

posted @ 2021-03-02 11:46  凉风青枼  阅读(122)  评论(0)    收藏  举报