zoukankan      html  css  js  c++  java
  • UML类图

    类图的基础属性

    在 UML 类图中,每一个矩形代表一个类。一般的类图分为三个部分。第一部分为类名,第二部分为类内的属性,第三部分为类内的方法。

    "+" : 表示public
    "-" : 表示private
    "#" : 表示protected
    "~" : 表示default
    斜体表示抽象,下划线表示static
    
    属性的完整表示方式:可见性 名称 :类型 [ = 缺省值]
    例:+ name : String 表示 public String name;
    
    方法的完整表示方式:可见性 名称(参数列表) [ :返回类型]
    例:+ test (String name) : void 表示 public void test (String name) {}
    

    类与类之间关系

    在 UML 类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

    泛化

    介绍:泛化(Generalization)表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。

    1. 继承

      表示:空心三角形+实线表示。

      示例:鸟类继承动物。

    2. 实现

      • 矩形表示法

        表示:空心三角形+虚线表示。

      • 棒棒糖表示法

        表示:使用实线+圆表示。

        示例:唐老鸭实现讲人话。

    依赖

    介绍:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

    表示:依赖关系用虚线箭头表示。

    示例:动物依赖氧气和水,调用新陈代谢方法需要氧气类和水类的实例作为参数。

    关联

    介绍:对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

    关联关系又可进一步分为单向关联、双向关联和自关联。

    • 单向关联

      表示:单向关联关系用实线箭头表示。

    • 双向关联

      表示:双向关联关系用实线表示。

    • 自关联

      表示:自关联关系用带有箭头且指向自身的实线表示。

    聚合

    介绍:表示一种弱的拥有关系,即 has-a 的关系,体现的是 A 对象可以包含 B 对象,但 B 对象不是 A 对象的一部分。两个对象具有各自的生命周期。

    表示:聚合关系用空心的菱形+实线箭头表示。

    示例:每一只大雁都属于一个大雁群,一个大雁群可以有多只大雁。当大雁死去后大雁群并不会消失,两个对象生命周期不同。

    组合

    介绍:组合是一种强的拥有关系,是一种 contains-a 的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。

    表示:组合关系用实心的菱形+实线箭头表示,还可以使用连线两端的数字表示某一端有几个实例。

    示例:鸟和翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。

    参考:

    https://www.jianshu.com/p/57620b762160

    https://www.cnblogs.com/shindo/p/5579191.html

    https://blog.csdn.net/ibukikonoha/article/details/80643959

  • 相关阅读:
    Leetcode 515. Find Largest Value in Each Tree Row
    Paypal2017实习生-软件开发-B卷
    Codeblocks 遇到的问题 Cannot open output file, permission denied
    itoa()函数和atoi()函数详解
    Windows下如何更新 CodeBlocks 中的 MinGW 使其支持新版本 C++
    Leetcode 179. Largest Number
    合并两个有序数组到其中一个数组中
    腾讯2017实习生招聘软件开发编程题
    [LeetCode] 56
    360笔试
  • 原文地址:https://www.cnblogs.com/thetree/p/13792487.html
Copyright © 2011-2022 走看看