类图

UML类图几种关系的总结

此生再无相见时 提交于 2020-11-02 21:55:28
在 UML 类图中,常见的有以下几种关系 : 泛化( Generalization ) , 实现( Realization ) , 关联( Association), 聚合( Aggregation ) ,组合(Composition),依赖(Dependency) 1.泛化( Generalization) 【泛化关系】:是一种继承关系 , 它指定了子类如何特化父类的所有特征和行为 例如:老虎是动物的一种 . 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现( Realization ) 【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现 【箭头指向】:带三角箭头的虚线,箭头指向接口 3. 关联(Association) 【 关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法; 如:老师与学生,丈夫与妻子 关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 【代码体现】:成员变量 【箭头及指向】:带普通箭头的实心线,指向被拥有者 上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。 上图为自身关联: 4. 聚合(Aggregation) 【聚合关系】:是整体与部分的关系 .

两张图示轻松看懂 UML 类图

断了今生、忘了曾经 提交于 2020-04-07 02:33:12
一个类如何表示 第一格为类名 第二格为类中字段属性 格式: 权限 属性名:类型 [ = 默认值 ] 权限:private、public 、protected、default,它们分别对应 -、+、#、~ 第三格为类的方法 格式: 权限 方法名称(参数列表) [ : 返回类型] 返回类型可选 类之间的关系 多看几次上图,对比如下简短说明,再结合实践,相信你很快就可以搞清楚类图了。 泛化(Generalization),在 Java 中叫继承 空心三角直线表示 实现(Realization) 空心三角虚线 依赖(Dependence) 箭头虚线表示 关联(Association) 当一个类“知道”另一个类时,可以用关联 聚合(Aggregation) 表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分 组合(Composition),也叫合成 是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样 参考 《大话设计模式》——程杰 《设计模式之禅》——秦小波 UML类图: https://www.jianshu.com/p/2828874af134 UML工具推荐: https://www.cnblogs.com/xiaolinxi/p/3326451.html 推荐工具(排名不分先后) Acceleo Jude Microsoft

设计模式之UML类图的常见关系(一)

混江龙づ霸主 提交于 2020-04-04 17:25:19
转载: http://www.cnblogs.com/zxj159/p/3399654.html 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition)。 1.泛化关系 泛化关系是继承或实现的关系,是is a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系。 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的、临时性的、非常弱的,一个类的变化会影响到另一个类,是use a关系,如果类A依赖于类B,那么类B可以是类A的局部变量,或类A方法的参数,或静态方法的调用。 3.关联关系 关联关系是一种强依赖关系,这种关系不存在依赖关系的偶然性,关系也不是临时的,是长期的,稳定的。双方的关系是平等的,可以单向关联也可以是双向关联。假如类A关联了类B,则类B是类A的全局变量(注意是全局变量,再看看上面的依赖关系),大多数关联都是单向关联,这比较容易维护,关于关联,在生活中我们常会说,类A持有类B的引用。 4.聚合关系 聚合关系是特殊的关联关系,是一种强的关联关系,他体现的是整体与部分关系,即has-a的关系,但是整体和部分是可以分离的,注意,是可以分离的。普通关联关系的两个类处于同一层次上,是平级的

设计模式之UML类图的常见关系

a 夏天 提交于 2020-04-04 17:23:53
设计模式之 UML 类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在 UML 类图中,常见几种关系 : 泛化( Generalization ),依赖 (Dependency) ,关联( Association) ,聚合( Aggregation ),组合 (Composition) 。 1. 泛化关系 泛化关系是继承或实现的关系,是 is a 关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系。 2. 依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的、临时性的、非常弱的,一个类的变化会影响到另一个类,是 use a 关系,如果类 A 依赖于类 B, 那么类 B 可以是类 A 的局部变量,或类 A 方法的参数,或静态方法的调用。 3. 关联关系 关联关系是一种强依赖关系,这种关系不存在依赖关系的偶然性,关系也不是临时的,是长期的,稳定的。双方的关系是平等的,可以单向关联也可以是双向关联。假如类 A 关联了类 B, 则类 B 是类 A 的全局变量(注意是全局变量,再看看上面的依赖关系),大多数关联都是单向关联,这比较容易维护,关于关联,在生活中我们常会说,类 A 持有类 B 的引用。 4. 聚合关系 聚合关系是特殊的关联关系,是一种强的关联关系,他体现的是整体与部分关系,即 has-a 的关系,但是整体和部分是可以分离的,注意,是可以分离的

UML类图的常见关系

◇◆丶佛笑我妖孽 提交于 2020-04-04 17:19:43
本篇讲解在UML类图中,常见的几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition)。 1.泛化关系 泛化关系是继承或实现的关系,是is-a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系。 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的、临时性的、非常弱的,一个类的变化会影响到另一个类,是use a关系,如果类A依赖于类B,那么类B可以是类A的局部变量,或类A方法的参数,或静态方法的调用。 3.关联关系 关联关系是一种强依赖关系,这种关系不存在依赖关系的偶然性,关系也不是临时的,是长期的,稳定的。双方的关系是平等的,可以单向关联也可以是双向关联。假如类A关联了类B,则类B是类A的全局变量(注意是全局变量,再看看上面的依赖关系),大多数关联都是单向关联,这比较容易维护,关于关联,在生活中我们常会说,类A持有类B的引用。 4.聚合关系 聚合关系是特殊的关联关系,是一种强的关联关系,他体现的是整体与部分关系,即has-a的关系,但是整体和部分是可以分离的,注意,是可以分离的。普通关联关系的两个类处于同一层次上,是平级的,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系

UML类图关系表示

左心房为你撑大大i 提交于 2020-04-02 21:56:03
UML 之 C++类图关系全面剖析 分类: 软件设计与架构 2008-10-16 08:52 5165人阅读 评论 (3) 收藏 举报 uml c++ border class c blog UML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。 1、关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。 使用ROSE 生成的代码是这样的: class C1 ... { public : C2 * theC2; } ; class C2 ... { public : C1 * theC1; } ; 双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。 单向关联: C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。 生成代码如下: class C3 ... {

团队作业——UML设计

a 夏天 提交于 2020-03-25 17:05:36
团队分工 活动图:林铭智、洪万真 类图:田硕、吴立鹏 状态图:游琳、王超凡 用例图:徐仙峰、梁梓银 完成结果 活动图 类图 状态图 用例图 使用工具 我们选择了在线作图工具ProcessOn。ProcessOn高效且易用,不用下载,通过链接就可以直接发在线使用,还可以邀请协作,是十分方便的作图工具。 来源: https://www.cnblogs.com/ruangong1076678538/p/12566644.html

UML类图(1.3)

半腔热情 提交于 2020-03-12 19:43:36
UML:Unified modeling Language 统一建模语言 UML类图:用来描述系统所包含的类以及类之间的关系。 画图工具: https://www.processon.com 类之间的6种关系及表示方法: 6种关系都可称为依赖,而根据关系的类别又可细分5种。 代码与类图之间的转换方式 class Person { private String name; private String Email; private Integer age; public void setName(String name) { this.name=name; } public void setEmail(String email) { this.email=email; } public void setAge(String age) { this.age=age; } } 依赖(dependence) 在A类中用到了B类,则A对B类依赖。(编译时缺少B类无法通过) 泛化(generalization) 泛化==继承。【依赖关系的特例】 实现(Implementation) 实现关系描述类与接口的关系。类实现接口构成实现关系。【依赖关系的特例】 关联(Association) 一个类知道另一个类的属性和方法。【依赖关系的特例】 聚合(Aggregation) 整体与部分的关系