zoukankan      html  css  js  c++  java
  • 【转载】UML类图知识整理

    原文:UML类图知识整理

    UML类图

    UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料。

    这里简单整理

    类之间的关系

    泛化关系(generalization)

    1. 泛化(generalize): 一条带空心箭头的线表示
    2. 实现(realize) : 一条带空心箭头的虚线表示

    泛化在Java中表现为继承(extends) ,is-a的关系

    实现在Android中表现为implements 接口,或者extends抽象类

    依赖关系(dependency)

    用一条带箭头的虚线表示;箭头的指向为调用关系

    简单来说,类A用到了类B,就可以说A依赖于B

    依赖关系是一种临时性的偶然性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化

    代码中的表现:比如方法的入参,构造方法的参数

    关联关系(association)

    用一条直线表示

    它描述不同类的对象之间的结构关系;体现的是两个类、或者类与接口之间语义级别的一种强依赖关系

    代码中的表现:关联对象通常是以成员变量的形式实现的

    聚合关系(aggregation)

    一条带空心菱形箭头的直线表示

    聚合关系是关联关系的特例,它用于表示实体对象之间的关系,表示整体由部分构成的语义;是has-a的关系;

    例如一个部门由多个员工组成;

    与组合关系不同的是,整体和部分不是强依赖的,整体与部分之间是可分离的,即使整体不存在了,部分仍然存在;

    例如, 部门撤销了,人员不会消失,他们依然存在

    组合关系(composition)

    用一条带实心菱形箭头直线表示

    组合关系是一种强依赖的特殊聚合关系,是contains-a的关系,比聚合更强,也称为强聚合,如果整体不存在了,则部分也不存在

    注意点

    1. 聚合跟组合其实都属于关联
    2. 关系强度:组合>聚合>关联>依赖

    类的方法与属性

    类可以拥有多个方法和属性

    属性的表达方式:可见性 名称:类型 [ = 缺省值 ]
    方法的表达方式:可见性 名称(参数列表) [ : 返回类型]

    可见性:

    • + public
    • - private
    • # protected
    • ~ package

    示例

    另外:UML图中的斜体表示抽象

    示例

    释义:
    ViewGroup是一个View,也是一个ViewParent,依赖于MotionEvent(在onTouch(MotionEvent)等方法)

    释义:

    员工与工号相关联,员工聚合成部门,部门组成公司。

    部门解散了员工依然存在(所以是聚合),而公司倒闭,部门也就不存在了(所以是组成)。

  • 相关阅读:
    Python数据结构之字符串
    Python中的logging模块
    Python资源大全中文版
    test
    Python数据结构之元组
    Python之StringIO和BytesIO
    Python标准库之pathlib
    Ubuntu下安装pyenv管理多版本python
    生成器 Generator
    CIDR网段格式
  • 原文地址:https://www.cnblogs.com/zhehan54/p/5693131.html
Copyright © 2011-2022 走看看