看深入理解Java Web技术内幕时遇到好多类图,忘记了具体什么意思,现在进行总结学习。

类与接口表示方法

2

如上图所示,动物框就代表一个类,类图分三类,第一层显示类的名称,如果是抽象类,就用斜体表示,第二层是类的特性,通常是字段和属性,第三类是类的操作,通常是方法和行为。+代表public,-表示private,# 表示protected.

两种接口表示方法

3

类与类,类与接口的关系

继承关系(空心三角形加实线)

4

1
2
3
class Bird extends Animal
{
}
实现接口(空心三角型加虚线)

5

1
2
3
class WideGoose implements IFly
{
}
关联关系(实线箭头)

企鹅需要直到气候的变化,需要了解气候的规律,当一个类直到另一个类时,可以用关联关系。

6

1
2
3
4
class Penguin extends Bird
{
private Climate climate; //在企鹅中引用气候对象。
}
聚合关系(空心菱形加实线箭头)

每个大雁属于一个雁群,一个雁群可以有许多大雁,所以他们之间满足聚合关系,聚合是一种弱的拥有关系,体现的是A对象可以包含B对象,但是B对象不是A对象的一部分。

7

1
2
3
4
class WideGoose_qun
{
private WideGoose[] wideGooses;
}
合成关系(实心菱形加箭头)

合成是一种强的拥有关系,体现了严格的部分与整体的关系,部分和整体的生命周期一样。连线两端的数字1和2代表基数,表明这一端可以有多少个实例。

8

1
2
3
4
5
6
7
8
class Bird
{
private Wing wing;
public Bird()
{
wing =new Wing();//在鸟类中,初始化时,实例化翅膀,二者同时生成。
}
}
依赖关系(虚线箭头)

动物需要水,氧气,他们间是依赖关系。用虚线箭头。
9

1
2
3
4
5
6
7
public abstract class Animal
{
public live(生活)(Oxygen oxygen,Water water)
{

}
}