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