- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML类图符号简介分析
1. 类(Class):使用三层矩形框表示。?第一层显示类的名称,如果是抽象类,则就用斜体显示。?第二层是字段和属性。?第三层是类的方法。?注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。?2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有interface显示。?第一行是接口名称。?第二行是接口方法。?3. 继承类(extends):用空心三角形+实线来表示。?4. 实现接口(implements):用空心三角形+虚线来表示?5. 关联(Association):用实线箭头来表示,例如:燕子与气候?6. 聚合(Aggregation):用空心的菱形+实线箭头来表示?聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如:公司和员工?组合(Composition):用实心的菱形+实线箭头来表示?组合:部分和整体的关系,并且生命周期是相同的。例如:人与手?7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气?8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的
类之间的关系
?? UML把类之间的关系分为以下5种.
?? ● 关联:类A与类B的实例之间存在特定的对应关系
?? ● 依赖:类A访问类B提供的服务
?? ● 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成
?? ● 泛化:类A继承类B
?? ● 实现:类A实现了B接口??
关联(Association)
?? 关联指的是类之间的特定对应关系,在UML中用带实线的箭头表示。按照类之间的数量对比,关联
可以分为以下三种:
?? ● 一对一关联
?? ● 一对多关联
?? ● 多对多关联
注意:关联还要以分为单向关联和双向关联
依赖(Dependency)
?? 依赖指的是类之间的调用关系,在UML中用带虚线的箭头表示。如果类A访问类B的属性或者方法,
或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无须在类A中定义类B类型的属性。
聚集(Aggregation)
?? 聚集指的是整体与部分之间的关系,在UML中用带实线的菱形箭头表示。
聚集关系还可以分为两种类型:
?? ● 被聚集的子系统允许被拆卸和替换,这是普通聚集关系。
?? ● 被聚集的子系统不允许被拆卸和替换,这种聚集称为强聚集关系,或者组成关系。
??? 注:强聚集(组成)可用带实线的实心菱形箭头表示。???
泛化(Generalization)
?? 泛化指的是类之间的继承关系,在UML中用带实线的三角形箭头表示。??
实现(Realization)
?? 实现指的是类与接口之间的关系,在UML中用带虚线的三角形箭头表示。
以下是GOF设计模式中的描述:
?????? 箭头和三角表示子类关系。
?????????? 虚箭头线表示一个类实例化另一个类的对象,箭头指向被实例化的对象的类。
?????????? 普通的箭头线表示相识(acquaintance也叫关联或者引用),意味着一个对象仅仅知道另一个对象。相识的对象可能请求彼此的操作,但他们不为对方负责,它只标示了对象间较松散的耦合关系。
????????? 尾部带有菱形的箭头线表示聚合(aggregation),意味着一个对象拥有另一个对象或者对另一个对象负责。一般我们称一个对象包含另一个对象,或者是另一个对象的一部分。聚合意味着聚合对象和其所有者具有相同的生命周期。???????????? 抽象类名以斜体表示,抽象操作也以斜体表示。图中可以包括实现操作的伪代码,代码将出现在带有褶角的框中,并用虚线将该褶角框与代码所实现的操作相连。
UML类图关系大全
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。使用ROSE 生成的代码是这样的:
class?C1?...{public:????C2*?theC2;};class?C2?...{public:????C1*?theC1;};
双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。单向关联:C3-C4:表示相识关系,指C
文档评论(0)