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

    1. UML类图样例

    2. 基本概念

    2.0 类图说明

     Class类图:分为三层,第一层显示类名称,如果是抽象类则用斜体显示;第二层表示类的特性,通常是字段和属性;第三层是类的方法或者行为, 前面的符号+表示public,-表示private,#表示protected,~表示default

     Interface图:分为两层,第一层有<<interface>>标识,并显示接口名称;第二层表示接口方法

     在面向对象程序设计时,类与类之间的关系主要分为继承,实现,依赖,关联,聚合,组合六种关系

     空心菱形表示 contains of 关系; 实心菱形表示 part of

    2.1 依赖关系

     依赖关系用虚线、箭头表示,例如上图中的Animal依赖 Oxygen和Water,代码层面,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用;

    2.2 关联关系

      关联关系用实线、箭头表示,例如上图中的Penguin和Climate,表示类与类之间的联系,当一个类需要知道另一个类的属性和方法,可以使用关联,这种关系很强,比依赖关系更强,在代码层面和聚合、组合关系一样,只能从语义上区分;

    2.3 组合关系

     组合关系用实心菱形、实线、箭头表示,例如上图中的Bird和Swing是组合关系,代码层面,一个类是另外一个类的一部分(一个属性),强拥有关系,同生共死;常常会使用构造方法来达到组合目的

     比如:翅膀是鸟的一部分,轮胎是汽车的一部分,强调part of关系

    2.4 聚合关系

     聚合关系用空心菱形、实线、箭头表示,例如上图中的SwallowAggregate和Swallow是聚合关系,代码层面,和组合关系一样,一个类是另外一个类的一部分,但是是弱拥有关系,可以通过set方法来实现;

     例如:雁群和大雁,飞机场和飞机;强调 contains of关系

    2.5 泛化关系

     泛化关系也叫继承关系,用空心三角形、实线表示,例如上图中Bird和Swallow、Duck、Penguin,代码层面extend 

    2.6 实现关系

      实现关系用空心三角形、虚线表示,例如上图中Swallow和Fly接口,代码层面implements

  • 相关阅读:
    中国剩余定理(SCAUOJ 1077)
    uva 11426 GCD
    LA 4119 Always an integer (数论+模拟)
    uva 12003 Array Transformer (线段树套平衡树)
    uva 10253 Series-Parallel Networks (整数划分+多重集)
    LA 4123 Glenbow Museum
    uva 11361 Investigating Div-Sum Property
    2013多校训练赛第二场 总结
    uva 11174 Stand in a Line (排列组合)
    canvas 画椭圆
  • 原文地址:https://www.cnblogs.com/ffopen/p/14855163.html
Copyright © 2011-2022 走看看