美文网首页
表示关系的UML标记

表示关系的UML标记

作者: dodos | 来源:发表于2016-04-13 16:49 被阅读240次

    设计模式


    前言

    《设计模式解析》读书笔记

    ——表示关系的UML标记

    表示关系的UML标记有如下四种:

    1、聚类 (A聚合了B,B是A的一部分)
    2、组合 (A是由B组成的,A包含B菱形的对象)
    3、继承 (B攀升自A,A泛化了B)
    4、依赖 (A依赖于B,A使用B)

    UML标记

    1、is-a关系

    is-a关系is-a关系

    图2-2中,Shap类下面的箭头的意思是,指向Shape的那些类派生自Shape类。

    2、has-a关系

    有两种不同的has-a关系。一个对象可以拥有另一个对象,其中被包含的对象是包含对象的一部分——或者不是。

    has-a关系has-a关系

    图2-3中,表示出Airport“拥有”Aircraft。Aircraft并不是Airport的一部分,但仍然可以说Airport拥有aircraft,这种关系成为聚类

    此外,图中还表示了Aircraft要么是Jet(喷气式飞机),要么是Helicopter(直升飞机)。也就是说,Airport可以拥有Jet或Helicopter,但它是以相同方式对待他们的(当作Aircraft)。Airport类右边是空心的(未填充的)菱形表示聚类关系

    聚类关系聚类关系

    另一种has-a关系是包含,被包含对象是包含对象的一部分,这种关系也称为组合

    图2-4现实了Car(轿车)拥有Tire(轮胎),后者是它的一部分(也就是说,Car有Tire和其他东西组成),这种has-a关系,称为组合关系(composition),用实心菱形表示。此图上还显示了Car使用了GasStation(加油站)类,这种使用关系用带箭头的虚线表示,也称依赖关系(dependcncy relationship)。

    组合和聚类都有“一个对象包含一个或多个对象”的意思,但是,组合意味着“被包含对象是包含对象的一部分”,而聚类意味着被包含对象更像是一个集合。我们可以认为组合是一种非共享的关联,被包含对象的生存周期由包含对象控制。

    相关文章

      网友评论

          本文标题:表示关系的UML标记

          本文链接:https://www.haomeiwen.com/subject/httglttx.html