亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UML - 未在字段中定義時 Java 類之間的關系

UML - 未在字段中定義時 Java 類之間的關系

慕的地6264312 2022-08-03 10:46:57
class ClassA {    private JFrame frame = new JFrame(); // has-a, composition     public ClassA()     {       frame.add(new ClassB());    }       }A類和B類之間的關系/關聯是否有名稱?類 A 沒有用于類 B 的字段。我在Y. Daniel Liang的“Java編程導論”中閱讀了有關類關聯的內容,并使用了google,但找不到具有此特定關系的示例。我正在繪制一些現有代碼的UML圖,并希望獲得正確的關系注釋。也許我過度思考了,它只是一種聯想?
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

您的 ClassB 實例通過 JFrame 進行記憶,因此您可以使用類關系:

http://img1.sycdn.imooc.com//62e9e1be0001437802620122.jpg

或者只是將依賴項從類 A 添加到類 B


查看完整回答
反對 回復 2022-08-03
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

私有屬性通常建模為單向關聯(即使可導航性也可以通過擁有的屬性以外的其他方式實現)。

您的源代碼定義了 屬性 ,因此,您應該對 和 之間的關聯進行建模。frameClassAJFrame

然后類具有對象的操作。這只有在 與 有關聯時才有意義。JFrameaddClassBJFrameClassB

最后創建 一個新的實例。這個事實可以通過“創建”關系(虛線打開箭頭)來可視化。ClassAClassB

和 之間沒有其他關系。由于我們不知道 s 屬性是否私有,因此即使它創建了它,也可能無法訪問 。ClassAClassBJFrameClassAClassB

組合可以存在于 和 之間,但您的源代碼沒有為此決策提供足夠的上下文。在ClassA和ClassB之間沒有意義,因為它們甚至沒有關聯,無論是通過AssociationClass還是通過正常的Association。JFrameClassB


查看完整回答
反對 回復 2022-08-03
  • 2 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號