Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UML-未在字段中定义时Java类之间的关系_Java_Uml - Fatal编程技术网

UML-未在字段中定义时Java类之间的关系

UML-未在字段中定义时Java类之间的关系,java,uml,Java,Uml,ClassA和Classb之间的关系/关联是否有名称?ClassA没有ClassB的字段 我在Y.Daniel Liang的《Java编程导论》中读到了类关联,并使用了google,但找不到具有这种特定关系的示例 我正在绘制一些现有代码的UML图,希望得到正确的关系注释 也许我想得太多了,它只是一个关联?您的ClassB实例通过JFrame存储,因此您可以使用类关系: 或者只需将依赖项从ClassA添加到ClassB私有属性通常被建模为单向关联(即使导航能力也可以通过自有属性以外的其他方式实现

ClassA和Classb之间的关系/关联是否有名称?ClassA没有ClassB的字段

我在Y.Daniel Liang的《Java编程导论》中读到了类关联,并使用了google,但找不到具有这种特定关系的示例

我正在绘制一些现有代码的UML图,希望得到正确的关系注释

也许我想得太多了,它只是一个关联?

您的ClassB实例通过JFrame存储,因此您可以使用类关系:


或者只需将依赖项从ClassA添加到ClassB

私有属性通常被建模为单向关联(即使导航能力也可以通过自有属性以外的其他方式实现)

源代码定义了属性
frame
,因此,应该在
ClassA
JFrame
之间建立关联模型

然后类
JFrame
ClassB
对象执行
add
操作。只有当
JFrame
ClassB
有关联时,这才有意义

最后
ClassA
创建
ClassB
的一个新实例。这一事实可以通过«创建»关系(虚线箭头)可视化

ClassA
ClassB
之间不存在其他关系。因为我们不知道
JFrame
s属性是否私有,所以
ClassA
甚至不可能访问
ClassB
,即使它创建了
ClassB


组合可能存在于
JFrame
ClassB
之间,但您的源代码没有为该决定提供足够的上下文。ClassA和ClassB之间没有任何意义,因为它们甚至都没有关联,无论是通过AssociationClass还是通过正常关联。

ok-说关系框架->ClassB是聚合的,对吗?顺便说一句,我无法编辑代码。@Kapalua如果我的建议不正确,其他人会给我温暖^^我根据您的代码提出了我的建议,因此您的代码与兼容,您不必更改它的版本!谢谢你的输入,但我不太明白你为什么要在ClassA和ClassB之间建立组合关系。这难道不意味着ClassA有这样一个字段:ClassB ClassB吗?@Kapalua我使用了一个组合,因为你的评论
//has-a,composition
。“ClassA有一个这样的字段:ClassB ClassB”:不,框架就足够了,因为这不是一个关系,而是一个类关系,JFrame有到ClassBOk(的母类)的链接-我不知道这种建模方式。谢谢你的意见。我的想法似乎和你写的一样。谢谢你说得更清楚。
class ClassA {
    private JFrame frame = new JFrame(); // has-a, composition 

    public ClassA() 
    {
       frame.add(new ClassB());
    }       
}