0
我是UML图新手,正在读一本关于它的书。在那里,它有一个类图如下所示:UML图中的一对一关系
它说,
The implication of a one to one association is that whenever you create an
instance of one of the classes, you must simultaneously create an instance
of the other, and when you delete one you must delete the other.
我的问题是,我们真的必须这样做?我们不能将“空值”作为其中一个值吗?例如,我正在考虑如下这个图的Java代码,当我想创建一个公司项目时,我可以给null作为参数。我错了吗?或者这是一段错误或错误的代码?
public class Company{
. . .
private BoardOfDirectors director;
public Company(BoardOfDirectors director){
this.director=director;
}
. . .
}
public class BoardOfDirectors{
. . .
private Company company;
public BoardOfDirectors(Company company){
this.company=company;
}
. . .
}
谢谢。
'我们不能把“null”作为这些值中的一个吗?' - 如果它是* required *关联,则不行。换句话说,公司*要求*董事会(对于某些类型的公司法律结构来说,这是事实)。 – 2013-04-22 16:21:54
@RobertHarvey我想我找出了我混乱的原因。是的,在java中,我们可以给null,但如果我们这样做,我们不符合UML图,所以即使可以做到也不应该这样做。我对吗? – yrazlik 2013-04-22 16:46:06
这就像创建一个没有车轮的汽车物体。你需要有一个车轮。你可以让车轮为空,但它不符合业务规则。罗伯特所建议的是,你不能在董事会之外创建公司,因此Null不会工作。我认为人们需要看看正在创建的公司的类型。如果公司是独资企业,那么你就不会有董事会。只取决于现实情况,你的代码需要模仿这种关系。在我看来,董事会是独立的。 – 2013-04-22 23:12:34