uml understand document

Q1:UML的基本图示

uml understand document_第1张图片

包含6大关系:泛化关系、实现关系、聚合关系、组合关系、关联关系、依赖关系
其中,两两互为一组相对关系。

Q2:泛化关系(generalization)

所谓的泛化关系代表A继承至B,A属于B。例如,青苹果是一个苹果的概念。
泛化是一种实体类的继承。

uml understand document_第2张图片

泛化关系在uml图中由带 空心实线箭头表示。

Q3:实现关系(realize)

相较于泛化关系,实现关系则是对应于抽象的继承而言。
例如,水果是一个抽象的概念,苹果继承于水果。

uml understand document_第3张图片

实现关系在uml图中由 空心虚线箭头表示。

Q4:泛化关系与实现关系的相似与区别

两者都是由空心箭头表示,都是代表继承的关系。
区别在于,泛化关系是对一个实在的类进行的继承,而实现关系则是对于抽象类的一个继承。

Q5:聚合关系(aggregation)

聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

uml understand document_第4张图片

针对代码而言,聚合关系如下:

public  class GooseGroup  
{
    public Goose goose;
    
    public GooseGroup(Goose goose)
    {
        this.goose = goose;
    } 
}

所聚合的对象内存并不属于该对象。
聚合关系在uml图中由棱形空心实线箭头表示。

Q6:组合关系(composition)

组合关系用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;

uml understand document_第5张图片

针对代码而言,组合关系如下:

public class Goose  
{
    public Wing wing;
    
    public Goose()
    {
        wing =new Wing();
    }
}

所组合的对象内存属于该对象,但主对象销毁时,附加对象同时被销毁。
组合合关系在uml图中由棱形实心实线箭头表示。

Q7:聚合关系与组合关系的相似与区别

聚合关系与组合关系都是针对类的集合而言,都是由棱形实线箭头表示。
而在聚合关系中,从对象与主对象的关系不及组合关系中那么强依赖。

Q8:关联关系(association)

关联关系代表两个类直接有一定的结构。
在代码中则是以成员变量的形式来实现的。
其中关联关系的方向代表一个需求者类指向一个被需求类,如下图,A需要B的关系;

uml understand document_第6张图片

组合合关系在uml图中由 直实线箭头表示。

Q9:依赖关系(dependency)

依赖关系与关联关系十分相似,但是依赖关系是在主对象运行中实现的,只需要使用到从对象的某些性质。
就如同打开啤酒需要开瓶工具等。

uml understand document_第7张图片

组合合关系在uml图中由 直虚线箭头表示。

Q10:关联关系与依赖关系的相似与区别

关联关系与依赖关系不像前者那样的有较强的依赖性。
这两关系的对象双方可以互不干扰。
同时俩者都是由实箭头表示。
而在关联关系中,从对象都是在构造期间直接生成,而依赖关系则是在运行期间生成调用的。

你可能感兴趣的:(uml understand document)