Java和UML类图

    最近看了大话设计模式,这本书确实很不错,通俗易懂。刚看到了UML类图,这里做一下总结。

    类与类之间可以细分为六种关系:继承、实现、关联(association)、依赖(dependency)、聚合(aggregation)、组合(composition)。六种关系粗分为三种:泛化、依赖、关联。泛化(generalization)包括继承和实现,关联包括关联、聚合和组合。

    继承用实线和空心三角形表示。

    实现用虚线和空心三角形表示。

    关联用实线箭头表示,在Java代码中变现为B是A的全局变量。如:

Class people{
    private Address address;
}

    依赖关系用虚线箭头表示,在Java中表现为B是A的局部变量或参数。如:

Class people{
    //参数
    public void eat(Food food){
        //或者局部变量
        Tool tool;
    }
}

    聚合关系用空心菱形和箭头表示,在Java中体现为B是A的全局变量关系但A创建时不一定要创建B。如:

Class people{
    private XiaoMing xiaoMing;
}

    组合关系用实心菱形和箭头表示,在Java中体现为B是A的全局变量但A创建时必须同时创建B,即B在A的构造方法中创建。如:

Class people{
    private Arm arm;
    public people(Arm arm){
        this.arm = arm;
    }
}

需要详细了解的同学请看这篇博文:http://blog.csdn.net/maybehelios/article/details/2038685

明白了上面的问题之后,下面这张UML图就很容易理解了:

061720403603706.png


版权声明:本文为u011465550原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。