UML类图详解
UML,即Unified Model Language,统一建模语言。百度百科对他的定义是:它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。作为一个软件工程师,很多技能并不一定说非得具备,但是,一旦我们具备了,很多时候机会总是会多那么一点点。
下面,我们通过一个示例来了解UML类图的基本语法结构。画UML类图其实有专业的工具,像常用的Visio等,都是很好的工具,楼主这里由于时间关系就不用专业的工具,如有欠缺之处,欢迎广大网友指出。图片比较大,建议大家用QQ影响查看器打开,它可以实现对图片缩放的时候不失真。
通过以上图片,我们可以看到UML中常用的表示方法。下面将图像拆开来细说一下。
首先看动物那个矩形框,它代表来了一个类(Class)。类图分3层,第一层表示类的名称,如果是抽象类,则用斜体表示。第二层是类的特性,通常表示字段和属性。第三层是类的操作,通常是行为和方法。注意第二层和第三层前面的符号,有“+”,“—”,还可能有“#”,这代表什么含义呢?“+”代表public,“—”代表private,而“#”则表示protected。
再看飞翔这个矩形框,它表示一个接口图,和类图的区别就是顶部有interface字样,第一行表示接口名称,第二行表示接口方法。接口还有另一种表示方法——棒棒糖表示法。图中唐老鸭实现讲人话的接口。
类和类之间的继承关系,用实线+空心三角形表示,如下图。
类和接口之间的实现关系用虚线+空心三角形表示,如下图,表示实现接口。
关联用实线箭头表示。
聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不一定是A对象的一部分。聚合用空心的菱形+实线箭头来表示。
合成(也说组合)是一种强的拥有关系,体现了严格的整体和部分的关系,部分和整体的生命周期一样。示例中鸟和其翅膀就是组合关系,因为他们是部分和整体的关系,并且翅膀和鸟的生命周期一样。
另外还有依赖关系,就像动物依赖于空气和水一样。依赖关系用虚线箭头来表示。
编程是一门技术,更是一门艺术,努力吧!