UML类图与对象图
2016-01-15 15:26
218 查看
UML类图与对象图
基本概述
类图(Class Diagram)应该是使用的最多的一种UML图。其语法并不复杂,可能只需要几天时间就能掌握,但是其背后的面向对象(OO)思想却是需要日积月累才能深刻理解。面向对象的四种常见思想
1、OOA(Object-Oriented Analysis 面向对象分析)2、OOD(Object-Oriented Design 面向对象设计)
3、OOP(Object-Oriented Programming 面向对象编程)
4、OOT(Object-Oriented Technology 面向对象技术)
PS:无论是开发人员还是分析人员,这几种思想是必须要掌握的,作为开发人员来说,OO的思想,其深度和延伸内容可谓博大精深,值得花时间去学习。
类的概念
类可以视作一现实事物抽象出的统一的、相似的模型。对象的概念
对象可以看做是类的具体化,就像模具导出的产品一样。类图
类图就是描述类与类之间关系的图。案例:
类图的建模步骤
1、识别出类。2、识别出类的主要属性。
3、画出类之间的关系。
4、对各类进行分析、抽象、整理。
关联关系
两个类之间有关系,但又不确定是什么关系,可以用关联关系表达。PS:关联关系如果出现数量上的对应可以写上数字表示数量,可以用角色关系表示两类分别处于什么角色,单向关联关系表示关联是单向的,只能由关联方找到被关联方。在写代码时,可以将其视作关联类包含了被关联类的一个引用。
包含关系
包含关系表示一个类包含另一个类。PS:包含关系分为两种,一种是弱包含关系,叫做聚合,为空心菱形,一种是强包含关系,叫做组合,为实心菱形。一开始可以将所有包含关系视作弱包含,当发现某些关系可以用强包含表示时,才转为强包含关系。
泛化关系
当一个类是另一个类的子类时,可以使用泛化关系。PS:泛化关系通常也被称作继承关系,根据类的发现先后关系,如果是由父类导出子类,这样就可以说子类继承父类,如果是由子类导出父类,这样就可以说父类泛化子类。
实现关系
当一个类可以实现某个抽象类时,可以使用实现关系。PS:标识接口与类之间的关系用的比较多。
依赖关系
当一个类需要另一个类协助时,可以用依赖关系表示。递归关系
当某类使用或者包含自己时,可以使用递归关系。三角关系
当发现两个类之间的关系不能用一般关系来表示,这时候可以用关联类来表示关系,这也就是三角关系。PS:可以通过思考属性是否恰当来识别出关联类关系,列出两类的关键属性之后,思考这些属性的属性值是不是由该类本身就可以确定,如果不能两类之间就可能有关联类关系。
小结
对象图
如果说类图代表了一类事物,那么对象图就代表着某个具体的事物。相关文章推荐
- 从此不再惧怕URI编码:JavaScript及C# URI编码详解
- UIView属性clipsTobounds的应用
- mvc dropdown
- 1丶验证码无判断
- ssh-keygen和ssh-copy-id实现SSH无密码登录
- sqoop使用经验总结及问题汇总
- 学习笔记---mem族函数
- nginx下502和504错误的解决办法
- leveldb代码阅读(17)——流程分析:写数据(详细版本)
- Android Activity切换动画(解决back键后退失效问题)
- iOS开发UI篇—CALayer简介
- EXT实现表格斑马线
- js this
- 学java心得体会
- Android持久化技术之文件的读取与写入实例详解
- C++多态实现及原理
- Android 沉浸式状态栏攻略 让你的状态栏变色吧
- Android HttpsURLConnection get、post 访问网络
- [栈和对列]面试题3
- 分布式