zoukankan      html  css  js  c++  java
  • 教你看懂UML类图

    @

    在学习设计模式时,我们要看到很多UML类图,so先来学习下如何看懂UML类图

    类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图中最基本的元素是类、接口。

    定义一个类:

    -w310
    参见上图这个动物就代表一个类,这个类图分为三层

    • 第一层:代表类名,如果类名是斜体的话,代表是一个抽象类
    • 第二层:代表类的字段和属性
    • 第三层:代表类的方法和行为

    我们可以发现,在类的字段和类的方法前面符号有一个+号,这里对应的含义:

    + - #
    public private protected

    定义一个接口:

    定义一个接口,有两种方式:
    1、矩形表示法
    -w113
    顶端有interface,第一行表示接口名称,第二行表示接口方法

    2、棒棒糖表示法
    -w459

    圆圈旁的是接口名称,第三行是接口方法,接口方法在实现类中出现。

    如何表示继承关系?

    -w315
    继承关系是由空心三角和实线来表示

    如何表示实现关系?

    -w321

    实现关系是由空心三角和虚线来表示

    如何表示关联关系?

    -w330

    当一个类’知道‘另一个类的时候,可以用关联来表示,表现形式为一个对象含有另一个对象的引用。也就是说,如果一个对象的类代码中,包含有另一个对象的引用,那么这两个对象之间就是关联关系。关联关系用实线箭头来表示。

    如何表示聚合关系?

    -w286

    聚合标识的是一种弱的’拥有‘关系,体现是A对象可以包含B对象,但B对象不是A对象的一部分。例如,公司部门与员工的关系,一个员工可以属于多个部门,一个部门撤消了,员工可以转到其它部门。
    聚合关系用空心的菱形和实现箭头来表示

    如何表示组合关系?

    组合关系是一种强的’拥有‘关系,体现是严格的部分和整体关系,部分和整体的生命周期是一样的。例如,鸟的生命和鸟的翅膀,它们的生命周期一致。组合关系用实心的菱形和实现箭头来表示
    -w473
    合成关系的两端还有数字 1 和 2 ,这个被称为基数,表明这一端的类可以有多少实例,很显然一个鸟是有两个翅膀的;如果有无数个实例用n来表示,关联关系、聚合关系都是有这种基数标识

    如何表示依赖关系?

    -w604
    比如动物依赖于氧气和水,他们之间就是依赖关系,由使用方指向被使用方,表示使用方对象持有被使用方对象的引用,用虚线箭头来表示;
    依赖关系在Java中的具体代码表现形式为B为A的构造器或方法中的局部变量、方法或构造器的参数、方法的返回值,或者A调用B的静态方法。

  • 相关阅读:
    设计模式——简单工厂模式
    异常信息ASM ClassReader failed to parse class file的问题解决
    freemarker学习笔记
    java实现邮箱验证的功能
    Quartz学习——Quartz简单入门Demo(二)
    Quartz大致介绍(一)
    深入理解Java线程池:ScheduledThreadPoolExecutor
    抢火车票引发的思考
    CGLib动态代理引起的空指针异常
    从原理上搞定编码(四)-- Base64编码
  • 原文地址:https://www.cnblogs.com/binbinshan/p/14228924.html
Copyright © 2011-2022 走看看