精华内容
下载资源
问答
  • 类图总结
    2021-01-01 16:39:41

    UML

    统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

    JAVA 中的类图概念,markdown用mermaid编辑classDiagram语法

    类图classDiagram语法

    全语法介绍:https://plantuml.com/zh/class-diagram

    «interface» Class01 chimp int gorilla +size() : int AveryLongClass Class09 C2 C3 C4 Class07 Object[] elementData equals() Class10 >>service>> int id size() Dummy -field1 #field2 ~method1() +method2() Cool Where am i?

    一、类图说明

    在UML中,类使用包含类名、属性t和操作且带有分隔线的长方形来表示,类图分为三层。

    第一层

    • 是类的名称,如果是 抽象类(struct)接口(interface),就用 斜体 表示,其中接口名称的上部会用<>修饰。

    第二层

    • 是类的成员变量,通常是字段和属性。表示方式为:可见性 名称:类型 [ = 缺省值 ]。例如 : + ID : int = 1

    第三层

    • 是类的成员方法。表示方式为: 可见性 名称(参数列表) [ : 返回类型]。例如 + getID(): int

    可见性修饰符表

    可见性修饰符描述
    private-同 一类
    default~同一包
    protect#不同包的子类
    public+不同包的非子类

    Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。

    1. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
    2. default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
    3. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问
    4. public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。

    下面用表格的形式来展示四种访问权限之间的异同点,这样会更加形象。表格如下所示:

    同一个类同一个包不同包的子类不同包的非子类
    Private
    Default
    Protected
    Public

    二、类之间的关系

    类之间的关系有

    • 实现(Realize),用来表示类与接口、抽象类与接口之间的关系。
    • 泛化(Generalize),泛化(就是继承),用来表示类与类、类与抽象类、抽象类与抽象类、接口与接口之间的关系。
    • 依赖(Dependency)依赖用来表示两者之间的依从关系。关联可以是双向的,也可以是单向的;
    • 关联(Associate),关联关系可以是抽象的,例如花朵依赖阳光,也可以进一步具体划分为聚合及组合关系。
      • 聚合(Aggregate),聚合用来表示整体与部分的关系,是一种弱的关联关系,体现为A可以包含B,但B不一定是A的一部分(可分割)。
      • 组合(Compose)。组合用来表示整体与部分的关系,是一种强的关联关系,体现了严格的整体和部分的关系(不可分割),整体和部分的生命周期一样(人和身体器官)。

    其中,聚合(Aggregate),组合(Compose)属于关联(Associate),是特殊的关联(Associate)关系。

    关系强度(耦合度)由高到低为:泛化=实现>组合>聚合>关联>依赖。

    图例参考:https://www.cnblogs.com/shamao/p/10875550.html

    关系语法描述图示
    实现–|>实线 + 空心三角[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NiXmHTtK-1609490352752)(imges/实现.png)]
    泛化(继承)…|>虚线 + 空心三角[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NDRPhTsZ-1609490352755)(imges/泛化.png)]
    关联–>实线 + 箭头[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPSn3Nw4-1609490352756)(imges/关联.png)]
    聚合–o实线 + 空心四边形[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xzp3x7uw-1609490352757)(imges/聚合.png)]
    组合–*实线 + 实心四边形[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-le5YRMEd-1609490352758)(imges/组合.png)]
    依赖…>虚线 + 箭头[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qk4k83b0-1609490352759)(imges/依赖.png)]
    更多相关内容
  • UML类图总结

    千次阅读 2022-03-01 10:12:31
    一、 UML类图思维导图 二、用例图类的基本表示方式 三、用例图类与类的四种关系 1.继承关系 2.实现关系 3.依赖关系 4.关联关系 5.聚合关系 6.组合关系 四、对象图 五、系统的状态图 五、系统的活动图 六...

    目录

    一、 UML类图思维导图

    二、用例图类的基本表示方式

    三、用例图类与类的四种关系

    1.继承关系

    2.实现关系

    3.依赖关系

    4.关联关系

    5.聚合关系

    6.组合关系

    四、对象图

     五、系统的状态图

    五、系统的活动图

    六、系统的时序图

    七、系统的协作图

    八、系统的组件图

    九、系统的配置图


    实践:UML类图基本画法

    https://www.cnblogs.com/lukefan/p/10048499.htmlhttps://www.cnblogs.com/lukefan/p/10048499.html

    一、 UML类图思维导图

    二、用例图类的基本表示方式

    在UML类图中,每一个矩形代表一个类。我们举一个简单的例子:

    一般的类图分为三个部分。部分类图有五个部分。

    第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。

    第二部分为类内的属性,格式为修饰符 属性名 :属性类型。

    修饰符为“+”说明该属性为public型“#”说明该属性为protected型“-”说明该属性为private型

    第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。

    修饰符为“+”说明该方法为public型“#”说明该方法为protected型“-”说明该方法为private型

    如果方法名有下划线修饰则说明这是静态方法。

    如果类图中需要描述类的性质,则放在第四部分描述。如果类内有内部类,则放在第五部分描述。

    如果类图描述的是一个接口,在接口名的上方需要加上《interface》的修饰符。同时该类图仅有两个部分,接口名和接口的方法。

    对于任何一张类图,只要对照上面的说明就可以解读出含义。

    三、用例图类与类的四种关系

    现在我们来讲类与类的四种关系:泛化(Generalization)、实现(Realization)、依赖(Dependence)、关联(Association),其中关联又分为关联、聚合(Aggregation)、组合(Composition)。

    表示关系的强弱:依赖 < 关联 < 聚合 < 组合 < 泛化(继承)

    UML类图关系线条:

    1.继承关系

    继承关系使用如下箭头:

    由子类指向父类。

    2.实现关系

    实现关系使用如下箭头:

    由实现类指向接口

    3.依赖关系

    依赖关系使用如下箭头:

    由使用者指向被使用者。

    如果A指向B,则说明A中使用了B,使用方式包括A类中有B类实例化对象的局部变量。A类中有方法把B类实例化对象当做了参数,A类中有方法调用了B类中的静态方法。

    4.关联关系

    关联关系使用如下箭头:

    由拥有者指向被拥有者。

    如果A指向B,则说明A类中有B类的成员变量。

    5.聚合关系

    聚合关系使用如下箭头:

    由整体指向部分。

    如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。

    6.组合关系

    组合关系使用如下箭头:

    由整体指向部分。

    如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成。但与聚合关系不同,如果B类不在A类中就无法单独存在。

    两个类之间究竟是聚合还是组合完全由类的设计决定。

    四、对象图

    1.对象图(Object Diagrams)描述了 某一 瞬间对象集及对象间的关系 。为处在时域空间某一点的系统建模,描绘了系统的对 象、对象的状态及对象间的关系。
    2.对象图主要用来为对象结构建模。对象图中通常含有: 对象、连接 。像其他的图一 样,对象图中还可以有注解、约束、包或 子系统。

     五、系统的状态图

    五、系统的活动图

    用户登录系统的活动图

    六、系统的时序图

    1. 网络教学系统中的用例很多,所能画出的时序图也很多,在此不一一介绍。

    2. 系统管理人员管理网站的时序图

    七、系统的协作图

    用户登录系统的协作图

    、系统的组件图

    网络教学系统的组件图如下图,组成Web 应用程序的页面包括:

    1. 维护页面 (Maintenance Page)

    2. 文件下载页面 (File Download Page)

    3. 文件上传页面 (FileUpload Page)

    4. 信息发布页面 (Message Issue Page)

    5. 登录页面 (Login Page)

    、系统的配置图

    配置图主要是用来说明如何配置系统的软件和硬件。网络教学系统的应用服务器负责保存整个Web应用程序,数据库是负责数据库管理。此外还有很多终端可以作为系统的客户端。由于客户端很多,在此只画出3个客户端,系统配置图如下图

    展开全文
  • UML类图总结(浅显易懂实用)

    万次阅读 多人点赞 2018-06-10 20:56:23
    UML类图的作用是描述程序中类的信息及各个类之间的关系。所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半。但类的具体描述方式在各个类中都不一样,UML类图的...

    UML类图的作用是描述程序中类的信息及各个类之间的关系。

    所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半。但类的具体描述方式在各个类中都不一样,UML类图的提出是为了能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系。这是UML类图的作用。

    一、类的基本表示方式

    在UML类图中,每一个矩形代表一个类。我们举一个简单的例子:

    这是一个代表车辆的类。

    一般的类图分为三个部分。部分类图有五个部分。

    第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。

    第二部分为类内的属性,格式为修饰符 属性名 :属性类型。修饰符为“+”说明该属性为public型,“#”说明该属性为protected型,“-”说明该属性为private型。

    第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。修饰符为“+”说明该方法为public型,“#”说明该方法为protected型,“-”说明该方法为private型。如果方法名有下划线修饰则说明这是静态方法。

    如果类图中需要描述类的性质,则放在第四部分描述。如果类内有内部类,则放在第五部分描述。

    如果类图描述的是一个接口,在接口名的上方需要加上《interface》的修饰符。同时该类图仅有两个部分,接口名和接口的方法。

    对于任何一张类图,只要对照上面的说明就可以解读出含义。

    二、类之间关系的表示方式:

    类之间的关系有继承关系,实现关系,依赖关系,关联关系,聚合关系,组合关系。

    1.继承关系

    继承关系使用如下箭头:

    由子类指向父类。

    2.实现关系

    实现关系使用如下箭头:

    有实现类指向接口

    3.依赖关系

    依赖关系使用如下箭头:

    由使用者指向被使用者。

    如果A指向B,则说明A中使用了B,使用方式包括A类中有B类实例化对象的局部变量。A类中有方法把B类实例化对象当做了参数,A类中有方法调用了B类中的静态方法。

    4.关联关系

    关联关系使用如下箭头:

    由拥有者指向被拥有者。

    如果A指向B,则说明A类中有B类的成员变量。

    5.聚合关系

    聚合关系使用如下箭头:

    由整体指向部分。

    如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。

    6.组合关系

    组合关系使用如下箭头:

    由整体指向部分。

    如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成。但与聚合关系不同,如果B类不在A类中就无法单独存在。

    两个类之间究竟是聚合还是组合完全由类的设计决定。

    网上的UML类图教程出于各种原因总觉得不实用,眉毛胡子一把抓。我尝试着写了一篇浅显的总结,希望能有所裨益。

     

    2021/1/3:

    对评论中的问题进行回复,有关聚合关系与组合关系中的“指向”。

    借用知乎上的一张图:https://zhuanlan.zhihu.com/p/93289356

    我当时想表述的指向关系是指线由整体出发到部分,并非具体指菱形的朝向,表述不清给大家带来了误会。如果将菱形看做线的尾端,那么显然是由部分指向整体的。特此勘正。

    感谢评论中的几位同学:

    展开全文
  • UML类图总结(易懂实用)

    千次阅读 2020-09-03 17:14:40
    有一款工具叫做UML(Unified Modeling Language)又称统一建模语言,类图是使用频率最高的UML图之一!它具体有什么用处呢?它能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系,下面我们来具体学习UML...

    在我们程序开发中都离不开类的概念,平时我们说的类应该怎么描述呢?有一款工具叫做UML(Unified Modeling Language)又称统一建模语言,类图是使用频率最高的UML图之一!它具体有什么用处呢?它能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系,下面我们来具体学习UML的基本用法!

    一、类的基本表示方式

    在UML类图中,一个矩形表示一个类,矩形中有类名、属性和方法!下图是一个person的类

    在这里插入图片描述

    对应的ts代码

    class person{
           private name:string;
           private age:number;
           walk(){
               //.....
           }
       };
    

    es6写法

    class Person {
          #name;
          #age;
          walk() {
              //.....
          }
      }
    

    es5模拟代码

    function Person(){
         var name,age;
         Person.prototype.walk=function(){
             //....
         }
     }
    
    1.UML类图中表示可见性的符号有三种:
    1. +:表示public
    2. -:表示private
    3. #:表示protected
    2.属性的完整表示:

    可见性 名称 :类型 [ = 缺省值]
    [ ]的内容表示是可选的,例如(-name:string =‘zhangsan’),private属性name,值为"zhangsan"!

    3.方法的完整表示

    可见性 名称(参数列表) [ : 返回类型]
    [ ]的内容表示是可选的,例如(+walk() : string),public方法walk无参数,返回值类型为String!

    3.类图的组成部分
    1. 第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。
    2. 第二部分为类内的属性,格式为修饰符 属性名 :属性类型。修饰符为“+”说明该属性为public型,“#”说明该属性为protected型,“-”说明该属性为private型。
    3. 第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。修饰符为“+”说明该方法为public型,“#”说明该方法为protected型,“-”说明该方法为private型。如果方法名有下划线修饰则说明这是静态方法。
    二、类之间关系的表示方式
    1.继承关系(泛化关系Generalization)

    泛化关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,在 UML 类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。在代码实现时,使用面向对象的继承机制来实现泛化关系。例如,Student 类和 Teacher 类都是 Person 类的子类,看下图:
    在这里插入图片描述

    2.依赖关系(Dependency)

    依赖表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。下面 所示是人与car的关系图,人通过car才能开车驾驶。
    在这里插入图片描述

    3.关联关系(Association)

    关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。关联关系是类与类之间最常用的一种关系,分为一般关联关系、聚合关系和组合关系。我们先介绍一般关联。关联可以是双向的,也可以是单向的。在 UML 类图中,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类。也可以在关联线的两端标注角色名,代表两种不同的角色。在代码中通常将一个类的对象作为另一个类的成员变量来实现关联关系。先来看个双向关联的,下面是老师和学生的关系图,每个老师可以教多个学生,每个学生也可向多个老师学,他们是双向关联

    在这里插入图片描述
    当顾客买东西,每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量类实现。看下面的单向关联

    在这里插入图片描述
    还有一种关联是自关联的,自关联在UML类图中用一个带有箭头且指向自身的直线表示。下图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”

    在这里插入图片描述
    下面补充个知识点,如果有多个类的关联关系,如何判断多重性?下面用个最简单的图来表示,让你一目了然!
    在这里插入图片描述
    为了方便好记,我总结出来一句话!(两同,两边取大,不同,错位取大)!
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.聚合关系(Aggregation)

    聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系,在 UML 类图中,聚合关系可以用带空心菱形的实线来表示,菱形指向整体,例如:A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。下面看下Car(汽车)和type(轮胎)的关系,轮胎离开了机车还是可以单独纯在的,所以用聚合关系

    在这里插入图片描述

    5.组合关系(Composition)

    组合关系也是关联关系的一种,也表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系。在组合关系中,在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。

    在这里插入图片描述

    6.接口实现关系(Realization)

    实现关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口。比如我创建了一个接口Aminal
    在这里插入图片描述

    public interface Animal 
    {
        public void eat();
    }
    

    注意在方法上应当有<>表示这是一个接口。接口一般没有属性,所以这里中间层没有,有属性要注意也都是常量。看下面UML类图

    在这里插入图片描述

    public class Dog implements Animal 
    {
        public void eat() 
        {
            // dog eat的逻辑
        }
    }
    public class Cat implements Animal 
    {
        public void eat() 
        {
            // cat eat的逻辑
        }
    }
    

    有一个Dog和一个Cat分别实现了Animal,Dog和Cat的实现不一样!最终你调用 Animal.eat方法来决定用dog类的eat还是cat类的eat方法!

    展开全文
  • 23种设计模式类图总结

    万次阅读 多人点赞 2016-09-12 09:41:48
    23种设计模式类图总结
  • 类图总结思考

    2022-05-16 08:08:12
    类图的组成 第一个是类名; 第二个是属性(attributes); 第三个是该类提供的方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。...
  • Qt 类图总结

    千次阅读 2022-02-12 09:11:21
    一直接触Qt相关的开发,系统性地总结一下相关的知识点,这里有两个网图,分别是Qt4.1和Qt5.1的图,看完可以对Qt整体的框架有一个大致的了解,具体如下;
  • 类图总结

    2018-06-22 16:36:00
    类图介绍 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示。 ·+ :表示public ·- :表示private ·#:表示protected(friendly也归入这类) 因此,上图中的...
  • 设计模式类图总结

    2022-02-14 16:22:12
    设计模式类图总结
  • Java NIO类图总结

    2021-12-18 10:58:57
    类图 类名 作用 AutoCloseable接口 该接口只有一个close()方法,实现该接口的对象在退出try-with resources块时会自动调用close()方法 Closeable接口 Closeable接口的close()与AutoCloseable接口的close...
  • UML各种类图总结

    千次阅读 2019-12-28 17:36:05
    文章目录一、用例图二、类图1、泛化2、实现3、关联4、聚合5、组合6、依赖7、各种类图关系三、对象图四、状态图五、活动图六、序列图-时序图1、生命线2、同步消息3、异步消息4、注释5、约束七、协作图八、构件图九、...
  • Java AIO类图总结

    2021-12-19 15:15:07
    类图 类名 作用 AutoCloseable接口 该接口只有一个close()方法,实现该接口的对象在退出try-with resources块时会自动调用close()方法 Closeable接口 Closeable接口的close()与AutoCloseable接口的close...
  • UML类图总结.md

    2020-05-31 17:55:13
    类图之间关系系的强弱顺序 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
  • 1、创建类模式 2、行为类模式 3、结构类模式 转载于:https://www.cnblogs.com/baizhanshi/p/8066583.html...
  • 设计模式UML类图总结

    2020-03-10 21:35:32
  • 常用UML类图总结

    2014-10-16 14:18:15
    UML类图几种关系的总结          在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合...
  • 类图: 继承关系:带空心箭头的直线 实现关系:带空心箭头的虚线 聚合关系:带空心菱形箭头的直线 组合关系,是一种强依赖的特殊聚合关系:带实心菱形箭头的直线 关联关系,不强调方向:直线 关联关系,强调方向:带...
  • UML:类图关系总结

    2021-01-08 08:11:16
    UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition...
  • [转载]UML类图总结

    2016-01-02 22:04:00
    我将做详细的总结。在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系。这足以说明类图的重要性。 对类图的基本认识有以下两点: 类图是以...
  • UML的类图总结——非常详细

    千次阅读 2018-11-21 22:18:15
    在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization) 【泛化关系】:是一种...
  • java 类图总结

    2016-06-21 10:31:18
    一 JDK类图 1.4 二 java.util.logging 三 java集合类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,868
精华内容 19,947
关键字:

类图总结