• UML简介


      在学习设计模式的时候UML图是必须要了解的。

      UML:统一建模语言(Unified Modeling Language)

    UML主要包括如下图:

      其中,案例图、类图和序列图是最有用的。

    如下面的解释可以深入理解类图的关系:

     (1)类class的解释:

      如图的"动物"框,它就代表一个类。类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体表示。第二层是类的特性,通常就是字段和属性。第三层就是类的操作,通常是行为和方法。注意前面的符号,"+" 表示public ,"-" 表示private,"#"表示friendly (默认值,本包可见)。,

      

    (2)接口

      如图左下角的"飞翔"就是一个接口。接口与类的区别是顶端有<<interface>>。第一层是接口名称,第二层是接口方法(这种是不赞成在接口中定义属性)

    补充:接口还有另外一种表示方法,在PowerDesigner中的接口是在名称区加一个带横杠的三角,如下:

     

    (3)继承关系:空心三角形+实线表示

     

    (4)实现关系:空心三角形+虚线表示

     

    (5)关联关系:当一个类知道另一个类时就需要用关联(association),关联用实线箭头表示。

      企鹅需要知道天气的变化。

    在代码中表现为:关系对象出现在实例变量中。

    (6)聚合关系:用空心的棱形+实心箭头表示

      看大雁与雁群的关系。大雁是群居动物,每个大雁都属于一个雁群,一个雁群可以有多个大雁。所以说他们满足聚合关系(Aggretation)。聚合是一种弱的"拥有关系",体现的是A可以包含B,但B不是A对象的一部分。

    在代码中表现为:关系对象出现在实例变量中。

    (7)组合(合成)关系:用实心的棱形+实心箭头表示

       组合关系是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。比如鸟和鸡翅的关系,其生命周期是一样的。连线两端有基数,如下表示一个鸟有2个翅膀。关联关系、聚合关系也可以有基数。

     

     在代码中表现为:关系对象出现在实例变量中。

     (8)依赖关系:虚线+箭头表示

      动物依赖于洋气和水,因此形成依赖关系。

      

    在代码中表现为:关系对象出现在局域变量或者方法的参量里;或者关系类的静态方法被调用等。

    注意:(1)关联关系、聚合关系和合成关系不能从java语法上表现出来。(2)关联关系常常可以进一步说明为聚合关系或者合成关系,因此上面关联关系和合成关系的实现是一样的。

       编程是一门技术,更是一门艺术。

  • 相关阅读:
    2018 我要告诉你的 Vue 知识大全
    探究Javascript模板引擎mustache.js使用方法
    高性能JavaScript模板引擎实现原理详解
    junit报错
    http报文
    web应用和http协议
    eclipse首次使用基本设置
    利用亚马逊AWS搭建个人服务器
    图文详解 IntelliJ IDEA 15 创建普通 Java Web 项目
    MyEclipse 设置条件断点
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/10987328.html
Copyright © 2020-2023  润新知