1、生命线框图和生命线
生命线:可以为虚线(源于UML1),也可以是实线
2、消息
1)、创始消息,实心圆开头2)、同步消息,实心箭头
3、执行规格条和控制期
控制期:阻塞调用
4、返回值
5、自身消息
6、创建实例
7、销毁对象
8、图框
为了显示循环、并行执行等操作的图框
1)、循环(loop)
2)、有条件消息(opt)
也可以如下图,但只支持uml1无法支持uml2
3)、互斥的有条件消息(alt)
4)、对集合的迭代
对应的java代码:
或者采用下图:
5)、图框可以嵌套
9、如何关联交互图?
10、调用类或静态方法
对应的java代码:
public class Foo {
public void doX() {
//调用Calendar类的静态方法
Locale[] locales=Calendar.getAvailableLocales();
//...
}
}
11、多态消息
12、同步消息和异步消息
public class ClockStarter {
public void startClock() {
Thread t = new Thread(new Clock());
t.start();//异步调用Clock上的run方法
System.runFinalization();//后续消息的示例
}
}
//实现产生新线程的Runnable接口
public class Clock implements Runnable {
public void run() {
while(true) {//在该线程中永远循环
//...
}
}
}