三、类图
类图就是显示出类、接口以及它们静态结构和关系的图。类图的基本元素是类或者接口。
类的框可分为一下几层
类名
属性清单
方法清单
性质清单
如果一个类有内部成员类,那么它的类图就会有5层。在类图中,除了类名层不能省略必须显示外,其他几层在UML中都可以省略的。
第一层是类名,如果类名为正体字,表明类是具体的(Concrete,即可以实例化的),变量名如果是斜体的,表明类是抽象的。
第二层是属性层。左面如果有+号,表明它是public;左面如果有一个-,表明它是private;如果有#号,表明为protected。
第三层是方法层。+-#的含意和属性层一致。
方法下面如果有一道下划线,表明它是个静态方法。
第四层是性质层,性质是由一个属性即一个内部变量,一个赋值函数和一个取值函数组成的结构。例如:
public String Class1{
private String jobTitle;
public String getJobTitle(){
return jobTitle;
}
public String setJobTitle(String jobTitle){
this.jobTitle=jobTitle;
}
}
在UML图中,类的左上角,通常分两行写出类的父类和所实现的接口。
1、描述接口的类图
接口的类图和类的类图几乎一样,唯一的区别是接口的名字有个“interface”字样。
一个接口不会有性质,可以有方法的声明、public和final静态内部成员类。
2、描述对象的类图
对象图是一种特殊的类图,它显示的不是类,而是类的实例。对象图在显示亿小部分系统的结构关系时,尤其时显示有递归关系的结构时非常有用。
在对象图中,每个长方形都代表一个实例。实例的名字都是有下划线的,这样可以区分一个长方形是类还是对象。只要图的含意是清楚的,那么对象的名字或者类的名字可以从图中省略。
3、类图中的关系
在类和类之间,会有连线指明它们之间的关系。类和类,类和接口,接口和接口之间可以建立一下关系:一般化关系、关联关系、聚合关系、合成关系和依赖关系。这几种关系都是静态的。
(1)一般化(Generalization)关系表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,或者从实现接口的类指向被实现的接口,与继承或者实现的方向相反。
一般化关系再JAVA语言中常常被直接翻译为关键字extends 和implements.前者表示类与类直接的继承关系,后者示和接口的关系。
(2)关联(Association)关系示类和类之间的连结,它使得一个类可以知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。双向关联可以有两个箭头或者没有箭头。单向的关联有一个箭头,表示关联的方向。单向的关联更为普遍,通常不鼓励使用双向关联。
每个关联都有两个端点,每个端点都可以有一个角色名,显示关联的本质。一个关联可以有一个方向箭头,表明遍历或者查询的方向。
在每个关联的端点,还可以有个基数(Mutiplicity),表明这一端的类可以有几个实例。
注意:一个关联关系往往可以进一步确定为聚合关系或者合作关系。
打字好累啊,以后不写这么多了,大概写写就行了