• UML类图


    UML图是什么?

    UML(Unified Modeling Language)是一种用于软件开发和系统设计的标准建模语言。它提供了一套丰富的图形符号和规范,用于描述和可视化软件系统的结构、行为和交互。

    UML图是使用UML语言创建的图形表示,用于描述软件系统的不同方面。UML提供了多种类型的图形符号,每种符号都有特定的用途和表达能力,以便开发人员能够更清晰地传达系统设计的概念和想法。一般说来,在UML图中,只要掌握类图、用例图、时序图的使用,就能完成大部分的工作。也就是说,掌握UML的20%,就能做80%的事情。

    用例

    请添加图片描述

    类图中具体类、抽象、接口和包的表示法

    UML类图中具体类、抽象类、接口和包有不同的表示方法。
    具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:

    “+”表示 public;
    “-”表示 private;
    “#”表示 protected;
    不带符号表示 default。

    属性和方法

    成员变量以及方法前的访问修饰符用符号来表示:

    • “+”表示 public;
    • “-”表示 private;
    • “#”表示 protected;
    • 不带符号表示 default。

    请添加图片描述
    这个‘动物’矩形框,它就代表一个类(Class)
    左下角的‘飞翔’,它表示一个接口图,与类图的区别主要是顶端有<>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,比如图中的唐老鸭类就是实现了‘讲人话’的接口(鸭子本来也有语言,只不过只有唐老鸭是能讲人话的鸭子)。请添加图片描述

    interface IFly
    {
        void Fly();
    }
    
    • 1
    • 2
    • 3
    • 4

    请添加图片描述

    interface ILanguage
    {
        void Speak ();
    }
    
    • 1
    • 2
    • 3
    • 4

    类与类,类与接口之间的关系

    首先注意动物、鸟、鸭、唐老鸭之间关系符号。

    继承

    继承关系用空心三角形+实线来表示
    请添加图片描述
    我举的几种鸟中,大雁是最能飞的,我让它实现了飞翔接口。实现接口用空心三角形+虚线来表示。
    请添加图片描述

    关联

    企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。更重要的是,它与气候有很大的关联。我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。总之,企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联(association)。关联关系用实线箭头来表示。

    请添加图片描述
    请添加图片描述

    聚合

    我们再来看大雁与雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分[DPE](DPE表示此句摘自《设计模式》(第2版),详细摘要说明见附录二)。聚合关系用空心的菱形+实线箭头来表示。请添加图片描述
    请添加图片描述

    合成(组合)

    合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样[DPE]。在这里鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实线箭头来表示。另外,你会注意到合成关系的连线两端还有一个数字‘1’和数字‘2’,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联关系、聚合关系也可以有基数的。
    请添加图片描述

    依赖关系

    动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。他们之间是依赖关系(Dependency),用虚线箭头来表示。

    请添加图片描述

    abstract class Animal
    {
        public Metabolism (Oxygen oxygen,Water water)
        {
     
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    Java-基于SSM的图书管理系统
    科技企业如何做到FTP数据安全保护
    windows桌面运维----第六天
    常用算法(四)——KMP算法
    `THREE.AudioAnalyser` 音频分析
    《安卓安装包管理后台》——前端Vue3源码部署
    Vue组件通信方式
    翻译 | Kubernetes Operator 对数据库的重要性
    【Lilishop商城】记录一下B2B2C商城系统学习笔记~
    k8s中常用命令总结
  • 原文地址:https://blog.csdn.net/w710537643/article/details/133848829