UML之类图
类图——Class diagram
类图是显示了模型的静态结构。特别是模型中存在的类、类的内部结构以及它们与其它类的关系等,类图不显示临时性信息。
类图的描写叙述
类图由很多(静态)说明性的模型元素(比如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图能够组织在(而且属于)包中。仅显示特定包中的相关内容。
类图是最经常使用的UML图。显示出类、接口以及它们之间的静态结构和关系,它用于描写叙述系统的结构化设计。
类图最主要的元素是类或者接口。
使用ER画类图。选择Class例如以下图:
类图的构成
类图包括了类。接口,协作,关系。
和其它图一样,类图也能够包括凝视和限制。此外,类图也能够包括包和子系统。
类——Class
一般包括3个组成部分。第一个是类名。第二个是属性(attributes);第三个是该类提供的方法( 类的性质能够放在第四部分;假设类中含有内部类。则会出现第五个组成部分)。
类名部分是不能省略的,其它组成部分能够省略。
类名书写规范:正体字说明类是可被实例化的。斜体字说明类为抽象类。
属性和方法
属性和方法书写规范:修饰符 [描写叙述信息] 属性、方法名称 [參数] [:返回类型|类型]。
属性和方法之前可附加的可见性修饰符:加号(+)表示public。减号(-)表示private。#号表示protected。
省略这些修饰符表示具有package(包)级别的可见性,假设属性或方法具有下划线,则说明它是静态的。描写叙述信息使用<< 开头和使用>> 结尾,类的性质是由一个属性、一个赋值方法和一个取值方法组成,书写方式和方法类似。
包(Package)
包是一种常规用途的组合机制。
UML中的一个包直接相应于Java中的一个包,在Java中。一个包可能含有其它包、类或者同一时候含有这两者,进行建模时,通常使用逻辑性的包。用于对模型进行组织,使用物理性的包,用于转换成系统中的Java包。每一个包的名称对这个包进行了惟一性的标识。
接口(Interface)
接口是一系列操作的集合,它指定了一个类所提供的服务。它直接相应于Java中的一个接口类型。接口的表示有大概两种方式。
关系
常见的关系有:继承Inheritance,关联关系Association,聚合关系Aggregation,复合关系Composition,依赖关系Dependency,详细的每种关系的说明,在另外一篇博客中已经总结。
使用类图的情况
1、为系统词汇建模型
为系统的词汇建模实际上是从词汇表中发现类,发现它的责任。
2、模型化简单的协作
协作是指一些类、接口和其它的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。
比如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能仅仅通过一个类来明确事务是如何进行的,其实这个过程的运行涉及到一系列的类的协同工作,使用类图来可视化这些类和他们的关系。
3、模型化一个逻辑数据库模式
想象模式是概念上设计数据库的蓝图。
在非常多领域。你将想保存持久性数据到关系数据库或面向对象的数据库,你能够用类图为这些数据库模式建立模型。