美文网首页
UML类图的关系模型讲解

UML类图的关系模型讲解

作者: 六月的第三天 | 来源:发表于2018-06-09 22:38 被阅读40次

关系分类

符号表示图

image

泛化

** 带空心箭头的实线线表示 **

泛化 表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素

Code:

class Animation {
    var name:String!
}
class Dog : Animation {
    init(name:String) {
        super.init()
        self.name = name
    }
}

实现

** 带空心箭头的虚线线表示 **

实现 关系指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同,类似于与swift中的Protocol,java中的Interface

Code:

protocol Fly {
    func launchFly()
    var name:String {set get}
}
class Bird: Fly {
    func launchFly() {
        print("start fly \(self.name)")
    }
    var name: String
    init(name:String) {
        self.name = name
    }
}

关联

带普通箭头的实心线,指向被拥有者

注意:关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

关联是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子。老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

Code:

class Teacher{
    var students:[Student] = []
}

class Student{
    var teachers:[Teacher] = []//教师
    var courseTabel:[Course] = []//学生的课程
}

class Course{
    var courseName:String?
    var courseTime:Date?//课程时间
}

聚合

带空心菱形的实现表示的

聚合关系是关联关系的一种,是强的关联关系。是整体与部分的关系.如车和轮胎是整体和部分的关系.关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

Code:

class 汽车{
    var 引擎:[引擎]
}

class 引擎{
    
}
class 轮胎 {

}

swift就是强大中文都可以变成😎

组合

带实心菱形的实线,菱形指向整体

是整体与部分的关系.,没有公司就不存在部门 组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

依赖

带箭头的虚线,指向被使用者

是一种使用的关系,所以要尽量不使用双向的互相依赖。

各种关系的强弱

泛化= 实现> 组合> 聚合> 关联> 依赖

附上一张关系示例图:

image

参考

相关文章

  • [一]UML入门

    类图 二 UML类图讲解 三 UML类图讲解-自上而下 四 UML类图讲解-对比讲解

  • UML类图的关系模型讲解

    关系分类 泛化(继承) 实现 关联 组合 聚合 依赖 符号表示图 泛化 ** 带空心箭头的实线线表示 ** 泛化 ...

  • 设计模式整理—UML图

    UML类图 研究设计模式首先要掌握类图,类图也就是表达模型之前的关系。UML—Unified modeling l...

  • UML类图是什么?究竟怎么画呢

    亿图图示,UML类图 UML类图常用来呈现系统结构化设计,显示模型中类、及其内部结构或其他类关系的一种图表。通常由...

  • C++线下测试回顾

    题目地址 有同学说不知道怎么画内存模型图,我这里附几个教程UML类图小结UML类图与类的关系详解类似的教程笔记网上...

  • UML序列图

    UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模...

  • UML时序图、协作图

    UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模...

  • 设计模式补完计划

    目录 1.uml类图2.uml时序图3.设计模式 uml类图 泛化关系(继承):指类继承自类,接口继承自接口的关系...

  • Java自学-接口与继承 UML图

    UML 图 步骤 1 : UML 图 —— 类之间的关系 UML-Unified Module Language统...

  • UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合UML类图几种关系的总结 泛化 类继承和类实现接口关系,...

网友评论

      本文标题:UML类图的关系模型讲解

      本文链接:https://www.haomeiwen.com/subject/hhmxeftx.html