2 回答

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
您的 ClassB 實(shí)例通過(guò) JFrame 進(jìn)行記憶,因此您可以使用類關(guān)系:
或者只是將依賴項(xiàng)從類 A 添加到類 B

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
私有屬性通常建模為單向關(guān)聯(lián)(即使可導(dǎo)航性也可以通過(guò)擁有的屬性以外的其他方式實(shí)現(xiàn))。
您的源代碼定義了 屬性 ,因此,您應(yīng)該對(duì) 和 之間的關(guān)聯(lián)進(jìn)行建模。frame
ClassA
JFrame
然后類具有對(duì)象的操作。這只有在 與 有關(guān)聯(lián)時(shí)才有意義。JFrame
add
ClassB
JFrame
ClassB
最后創(chuàng)建 一個(gè)新的實(shí)例。這個(gè)事實(shí)可以通過(guò)“創(chuàng)建”關(guān)系(虛線打開(kāi)箭頭)來(lái)可視化。ClassA
ClassB
和 之間沒(méi)有其他關(guān)系。由于我們不知道 s 屬性是否私有,因此即使它創(chuàng)建了它,也可能無(wú)法訪問(wèn) 。ClassA
ClassB
JFrame
ClassA
ClassB
組合可以存在于 和 之間,但您的源代碼沒(méi)有為此決策提供足夠的上下文。在ClassA和ClassB之間沒(méi)有意義,因?yàn)樗鼈兩踔翛](méi)有關(guān)聯(lián),無(wú)論是通過(guò)AssociationClass還是通過(guò)正常的Association。JFrame
ClassB
添加回答
舉報(bào)