如何在 UML 中的 class 构造函数中建模新的 class
How to model new class within class constructor in UML
我正在使用 UML 为软件建模。我有一个 class 人,其地址属性是一个单独的 class。
每次有一个新的 Person 时,我都需要一个 Address 对象,所以我将它写在 class Person 构造函数中。
然而,这个人可以将其地址留空,所以在我的 mongo JSON 对象中我将拥有:
{
ID:“1a07b40t9748c2a90”
全名:"X Y",
地址:{}
}
class Person {
String id;
String fullName;
Address address;
public Person(){
this.address = new Address();
}
}
class Address {
String city;
String state;
String country;
}
我应该如何在 UML 中对其进行建模?
虽然这实际上太琐碎了,但您在这里:
Person
恰好有一个 Address
。我没有对属性进行完整建模。不确定范围(address
可能是私有的)。
虽然您可能会有空地址的人,但这些空地址仍然是 Address
的实例。所以Address端的关系是强制的。
在 Person 方面,关系是可选的,因为可以在 Person 的上下文之外创建 Address 实例。所以在鱼尾纹符号中,这是结果:
如果您确定 Address 永远不会被实例化,除非作为 Person 的一部分,您可以将双方设为强制。
我使用了鱼尾纹表示法,因为这是您在评论中要求的,但这不是 UML 表示法。
我正在使用 UML 为软件建模。我有一个 class 人,其地址属性是一个单独的 class。
每次有一个新的 Person 时,我都需要一个 Address 对象,所以我将它写在 class Person 构造函数中。
然而,这个人可以将其地址留空,所以在我的 mongo JSON 对象中我将拥有:
{
ID:“1a07b40t9748c2a90”
全名:"X Y",
地址:{}
}
class Person {
String id;
String fullName;
Address address;
public Person(){
this.address = new Address();
}
}
class Address {
String city;
String state;
String country;
}
我应该如何在 UML 中对其进行建模?
虽然这实际上太琐碎了,但您在这里:
Person
恰好有一个 Address
。我没有对属性进行完整建模。不确定范围(address
可能是私有的)。
虽然您可能会有空地址的人,但这些空地址仍然是 Address
的实例。所以Address端的关系是强制的。
在 Person 方面,关系是可选的,因为可以在 Person 的上下文之外创建 Address 实例。所以在鱼尾纹符号中,这是结果:
如果您确定 Address 永远不会被实例化,除非作为 Person 的一部分,您可以将双方设为强制。
我使用了鱼尾纹表示法,因为这是您在评论中要求的,但这不是 UML 表示法。