可见性 名称:类型[= 默认值]
public classLoginForm
{
privateJButtonloginButton;
……
}
public classJButton
{
……
}
①双向关联:默认情况下,关联是双向的
②单向关联:类的关联关系也可以是单向的,单向关联用带箭头的实线表示
③自关联:在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联
public class Node
{
private Node subNode;
……
}
表示方式 | 多重性说明 |
1..1 | 表示另一个类的一个对象只与一个该类对象有关系 |
0..* | 表示另一个类的一个对象与零个或多个该类对象有关系 |
1..* | 表示另一个类的一个对象与一个或多个该类对象有关系 |
0..1 | 表示另一个类的一个对象没有或只与一个该类对象有关系 |
m..n | 表示另一个类的一个对象与最少m、最多n个该类对象有关系 (m<=n) |
在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。在UML中,聚合关系用带空心菱形的直线表示。
public class Car
{
private Engineengine;
public Car(Engineengine)
{
this.engine =engine;
}
public voidsetEngine(Engineengine)
{
this.engine =engine;
}
……
}
publicclass Engine
{
……
}
c.组合关系:
public class Head
{
private Mouthmouth;
public Head()
{
mouth= new Mouth();
}
……
}
public class Mouth
{
……
}
d.依赖关系:
public class Driver
{
public void drive(Carcar)
{
car.move();
}
……
}
publicclass Car
{
public void move()
{
......
}
……
}
e.泛化关系:
public class Person
{
protected String name;
protectedint age;
public void move()
{
……
}
public void say()
{
……
}
}
publicclass Student extends Person
{
private StringstudentNo;
public void study()
{
……
}
}
public interface Vehicle
{
public void move();
}
publicclass Ship implements Vehicle
{
public void move()
{
……
}
}
publicclass Car implements Vehicle
{
public void move()
{
……
}
}