zoukankan      html  css  js  c++  java
  • [转]UML(Unified Modeling Language)统一建模语言类图详解

    类图是面向对象系统建模中最常见的图,类图显示了一组类、接口、协作以及它们之间的关系。类图用于对系统的静态设计视图建模。 在UML中类以矩形表示,具有名称、属性、操作、和关系等描述。接下来我们将全面的对类里面的每个元素的表现作出详细的介绍。
    • 类:
      • 在UML中类以一个矩形表示,类的名称用一个字符串表示。
      • 抽象类通过将类名改为斜体字表示。
      • 不能继承的类(叶子类,封闭类)通过在类名下面增加 leaf 特性说明。
    • 属性:
      • 属性在类下面的栏中列出,可以仅显示属性名。
      • 静态属性通过在属性名下加下划线表示。
      • 属性其他特征完整语法: [可见性] 属性名 [':'类型] [多重性] ['='初始值] [{特性串]}]
      • 不能重写属性通过在特性串中增加 leaf 特性说明。
    • 操作:
      • 属性在类下面的第二栏中列出,可以仅显示操作名。
      • 静态操作与静态属性同样通过在名称下加下划线表示。
      • 抽象操作与抽象类同样通过斜体字表示。
      • 操作特征完整语法: [可见性] 操作名 [([方向] 参数名 ':' 参数类型 ['=' 默认值])] [':' 返回类型] [{特征串}]
      • 不能重写的操作与属性一样使用特征串中增加 leaf 表示。
    • 可见性:
      • 可见性通过在属性或方法名称前增加特定的符号表示。公共的(+)私有的的(-)受保护的(#)包内的(~)
    接下来我们一起来研究一下类之间的关系。
    • 依赖(dependency)是一种使用关系,他描述一个事物的规约变化可能影响到使用它的另一个事物。个人认为在参数或者方法体中使用 到另外的类就是对该类有依赖的关系。use a
    • 泛化(dependency)用于描述子类到父类之间的关系。 Is a kind of
    • 关联(association)是一种结构关系,他描述一个对象与另一个对象相联系。 Has a
      • 双向关联(association)通过A对象可以找到B对象,B对象同样可以找到A对象的关联为双向关联。
      • 单向关联(direction-association)通过A对象可以找到B对象,但通过B对象不能找到A对象的关联为单向关 联。
      • 聚合(aggreation)A对象是B对象的一个组成部份,但A对象同时可能是C对象的组成部分这种关联为聚合。
      • 组合(composition)A对象是B对象的一个组成部份,除非B对象将A对象转交给其他对象,否则A对象只能是B对象的组 成部分,这种关联为组合。
    [转自:http://www.cnblogs.com/fenglin1985/archive/2010/04/10/1709209.html]
  • 相关阅读:
    ionic3 生命周期
    java基础中this,super
    LeetCode #26 Remove Duplicates from Sorted Array
    LeetCode #24 Swap Nodes in Pairs
    LeetCode #22 Generate Parentheses
    LeetCode #20 Valid Parentheses
    LeetCode #14 Longest Common Prefix
    iOS CAShapeLayer、CADisplayLink 实现波浪动画效果
    iOS CAEmitterLayer 实现粒子发射动画效果
    iOS CAReplicatorLayer 实现脉冲动画效果
  • 原文地址:https://www.cnblogs.com/suyang/p/1721809.html
Copyright © 2011-2022 走看看