【发布时间】:2013-02-21 21:29:27
【问题描述】:
下面的时序图是什么意思,具体的构造函数(表示为创建对象)是什么意思?
【问题讨论】:
标签: constructor uml sequence-diagram
下面的时序图是什么意思,具体的构造函数(表示为创建对象)是什么意思?
【问题讨论】:
标签: constructor uml sequence-diagram
消息的名称“Class B()”是错误的:它应该是“create”。
这让你感到困惑吗?
【讨论】:
这意味着ClassA 实例化了ClassB。箭头表示ClassB的构造函数被ClassA调用
【讨论】:
new ClassB()。这更清楚吗?
ClassB theClass = new ClassB();。这会创建一个B类的实例
克里斯,希望你现在已经想通了。请接受 Cratylus 的回答,因为它是正确的。
这是一个 Java 示例:
Main.java
package com.example.umlquestion;
// (e.g. your application that makes and uses an instance of ClassA)
public class Main {
public Main() {
// this calls ClassA's constructor, which will then call ClassB's constructor
private ClassA instanceA = new ClassA();
// ...
}
}
ClassA.java
package com.example.umlquestion;
public class ClassA {
private ClassB instanceB;
public ClassA() {
instanceB = new ClassB();
// ...
}
// ...
}
ClassB.java
package com.example.umlquestion;
public class ClassB {
public ClassB() {
// ...
}
// ...
}
【讨论】: