认识UML类图
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization) 【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种. 【箭头指向】:带三角箭头的实线,箭头指向父类 2.实现(Realization) 【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现 【箭头指向】:带三角箭头的虚线,箭头指向接口 3.关联(Association) 【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子 关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 【代码体现】:成员变量 【箭头及指向】:带普通箭头的实心线,指向被拥有者 上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。 上图为自身关联: 4. 聚合(Aggregation) 【聚合关系】:是整体与部分的关系.如车和轮胎是整体和部分的关系. 聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。 【箭头及指向】:带空心菱形的实心线,菱形指向整体 5. 组合(Composition) 【组合关系】:是整体与部分的关系.,没有公司就不存在部门组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期 【箭头及指向】:带实心菱形的实线,菱形指向整体 6.依赖(Dependency) 【依赖关系】:是一种使用的关系,所以要尽量不使用双向的互相依赖。 【代码表现】:局部变量、方法的参数或者对静态方法的调用 【箭头及指向】:带箭头的虚线,指向被使用者 各种关系的强弱顺序: 泛化=实现>组合聚合关联依赖 下面这张UML图,比较形象地展示了各种类图关系: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 移民说明(FluentMigrator)?
- Vue.js——基于$.ajax实现数据的跨域增删查改
- cocos2d-x 3.x取消dumpCachedTextureInfo代之以getCachedTe
- DWR中对浏览器关闭的监控window.onbeforeunload
- 基于vue2.x的电商图片放大镜插件的使用
- ruby-on-rails – 检索shopify Shop对象?
- React Native开发之ATOM开发实用技巧
- Xcode Ad Hoc和IOS Team Provisionig Profile之间有什么区别
- 【 XML 之总结篇】
- react闲谈——react官网教程基础篇解析分享