【大话设计模式】——UML类图


(1)泛化(
继承)关系:空心三角+实现指向父类


class son : public parent 
{
}

(2)实现接口:空心三角+虚线指向父类

class A : interface
{
}

(3)关联关系:实线箭头指向关联类
class chicken : Bird
{
    private Climate cmt;
}
(4)聚合关系,弱拥有关系,是其中的一部分,群与个体关系,has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享,空心菱形+实线箭头
class A
{
    private:
             A[] array;
}
(5)组合关系:强拥有,整体必不可少的一部分,实心菱形+实线箭头

class bird
{
    private:
            Wing wing;
    public:
            bird()
            {
                 wing = new Wing();
            }
}

(6)依赖关系:虚线箭头,使用到其他

class animal
{
    public fun(Oxygen ox, Water wa)
       {
        }
}
注:

A.依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“use”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。例如我和锤子,我和锤子本来是没关系的,但在有一次要钉钉子的时候,我用到了它,这就是一种依赖,依赖锤子完成钉钉子这件事情。

B.关联是一种结构关系,表现为一个对象能够获得另一个对象的实例引用并调用它的服务,比如:我们MVC模型中view层拥有bmo层的service实例引用,bmo层拥有dao层实例引用等这种关系就是关联。依赖是一种使用关系,表现为一个对象仅仅是调用了另一个对象的服务。

http://blog.csdn.net/gyb2013/article/details/8036969

猜你喜欢

转载自blog.csdn.net/fengsuiyingdong/article/details/80254601