UML系列02之 UML类图(一)
概要
本章介绍类图中类的UML表示方法。内容包括:
类图介绍
实体类的UML表示
抽象类和接口的UML表示
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523185.html
类图介绍
类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图。它形象的描述出了系统的结构,帮助人们理解系统。
类图是在"所有的UML图"中,实用频率非常之高;掌握它对于我们软件设计,以及交流都很有帮助。
对于类图而言,它的基本单位是类。类主要由三部分组成:类名、属性、操作(函数)。UML类的表示大致如下:
下面,分别介绍"实体类", "抽象类", "接口"的UML表示方法。
注:本章的图形都是通过"UML系列01之 UML和绘图工具Visio介绍"中介绍的Visio工具进行绘制的!
实体类的UML表示
实体类的UML示例

对应的java代码
public class Student {
private int id;
protected int age;
public String name;
private void setId(int id);
private int getId() ;
protected void setAge(int age);
protected int getAge() ;
private void setName(String name);
private String getName() ;
}
1. 类名
类名是类的名称。
2. 属性
UML类图中,属性的基本格式: 可见性 名称: 类型 [=缺省值]
() 可见性 -- 表示该属性对于类外的元素而言是否可见。
主要包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。 ┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ 标志 ┃ 可见性 ┃
┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
┃ + │ Public ┃
┠──────┼──────────────────┨
┃ # │ Protected ┃
┠──────┼──────────────────┨
┃ - │ Private ┃
┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
() 名称 -- 表示属性名。
() 类型 -- 表示属性的数据类型。可以是基本数据类型,也可以是用户自定义类型。
() 缺省值 -- 属性的初始值。它是一个可选项。
3. 操作
UML类图中,属性的基本格式: 可见性 名称(参数类表) [:返回类型]
() 可见性 -- 表示该属性对于类外的元素而言是否可见。它的表示方法与"属性的可见性"相同。
┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ 标志 ┃ 可见性 ┃
┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
┃ + │ Public ┃
┠──────┼──────────────────┨
┃ # │ Protected ┃
┠──────┼──────────────────┨
┃ - │ Private ┃
┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
() 名称 -- 表示方法名。
() 参数列表 -- 表示方法的参数。参数个数是任意的,多个参数之间用逗号","隔开。
() 返回类型 -- 表示方法的返回值类型。它是一个可选项;可以是具体的返回类型,可以是void,也可以无返回类型(构造方法)。
抽象类和接口的UML表示
1. 抽象类的UML表示
抽象类和实体类的UML表示法类似。区别是: "抽象类的类名是斜体",而"实体类的类名不是斜体"!
抽象类的UML示例
将上面"实体类示例"中的实体类Student改为抽象类AbstractStudent,对应的UML图如下:
2. 接口的UML表示
在UML中,通过在"类名"位置添加“interface”关键字来表示接口。示意图如下:

对应的代码:
public interface Runnable {
public void run();
}
更多内容
UML系列02之 UML类图(一)的更多相关文章
- UML系列02之UML类图(1)
类图介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间关系的示意图.它形象的描述出了系统的结构,帮助人们理解系统.类图是在"所有的 ...
- UML系列02之 UML类图(2)
UML类图的几种关系 在UML类图中,关系可以分为4种: 泛化, 实现, 关联 和 依赖.1. 泛化 -- 表示"类与类之间的继承关系".2. 实现 -- 表示"类与接口 ...
- uml系列(四)——类图
类图是uml的核心.学习类图,总共须要掌握三个部分:类:类之间的关系:类图怎么画. 首先,类.老规矩,先来张图. 类是什么:举个简单的样例:猫.狗.猪三个都是动物.这里面的"动物" ...
- UML系列03之 UML类图(二)
概要 在"UML系列02之 UML类图(一) "中介绍了类图的基本构成--类的UML表示方法.本文是接着前文,继续对"UML的类图"中几种关系进行介绍.介绍的主 ...
- UML系列04之 UML时序图
概要 本章对UML的时序图进行介绍,主要内容包括:时序图介绍时序图组成 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523355.html 时序图介绍 ...
- UML从需求到实现---类图(2)
上节写到了UML中的类图:UML从需求到实现---类图(1) 写完以后总觉得写的不够详细.里面很多细节没有说到.一篇文章就把强大的面向对象的类说完.当然是不可能的.这次我再补充一些关于UML中类图和类 ...
- UML学习(二)-----类图
UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs ...
- UML从需求到实现---类图(1)
上次写到了UML的包图,用例等:接上:UML从需求到实现---包图 按照UML中图的出现顺序.当做完包图以后.我们下一步要做的当然是类图,类图也是UML中的三大核心图之一. 看到很多文章在描述类图的时 ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
随机推荐
- 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数
开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...
- Android平台免Root无侵入AOP框架Dexposed使用详解
Dexposed是基于久负盛名的开源Xposed框架实现的一个Android平台上功能强大的无侵入式运行时AOP框架. Dexposed的AOP实现是完全非侵入式的,没有使用任何注解处理器,编织器或者 ...
- 如何获得WPA握手包&EWSA破解WPA密码教程[zz]
获得WPA\WPA2 握手包的方法有很多,下面介绍通过aircrack-ng工具包来载获握手数据包. 1.下载aircrack-ng工具包. 2.终端里输入 sudo airmon-ng start ...
- hadoop安装计
hadoop安装计 大体上按这个做就好了 http://blog.csdn.net/hitwengqi/article/details/8008203 需要修改hadoop-env.sh export ...
- DotNetMQ的一个小demo
DotNetMQ是一个新的.独立的.开源的,完全基于C#和.NET Framework3.5的消息队列系统 下载源代码 - 1.28 MB 下载二进制文件 - 933 KB 下载例子 - 534 KB ...
- 【转】使用Cocoapods创建私有podspec
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...
- clearfix清除浮动进化史
我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧. clearfix清除浮动 首先在很多很多年以前我们常用的清除浮动是这样的. .clear{cle ...
- 2013年ACM湖南省赛总结
今年的比赛最大的变化就是改用OJ判题了,相比于PC^2确实省事了不少,至少可以直接复制样例了.题目方面依旧是刘汝佳命题,这点还是相当好的,至少给人以足够的安全感. 开始比赛之后安叔瞬间就把前半部分题目 ...
- O2O地图应用之判断用户订单地址是否在服务范围内
O2O地图应用之判断用户订单地址是否在服务范围内 需求分析 在o2o项目中,经常要用到在用户下单时判断用户所填地址的坐标点是否在服务范围内的情况,这里参考网上的实现方式,用C#来实现,经测试后有效,特 ...
- Android 6.0 源代码编译实践
http://www.judymax.com/archives/1087 Android 6.0 源代码编译实践 https://mirrors.tuna.tsinghua.edu.cn/help/A ...