Java 在另一个类中创建一个类的对象,UML类图中的关系是什么?
我有一个SessionManager类,我在每个类中创建用户需要登录才能访问的对象。我不确定这里创建的关系类型,因为我似乎把自己与所有在线定义混淆了。我试图创建一个UML类图来表示我的应用程序中的所有类。这是聚合关系还是简单的关联关系 我没有互相扩展的类,因为我制作了一个Android应用程序,它使用意图从一个活动传递到另一个活动,我只是在其他类中创建一些类的对象 此外,是否有任何方法可以在UML类图上表示意图 正在创建SessionManager对象:Java 在另一个类中创建一个类的对象,UML类图中的关系是什么?,java,android,uml,Java,Android,Uml,我有一个SessionManager类,我在每个类中创建用户需要登录才能访问的对象。我不确定这里创建的关系类型,因为我似乎把自己与所有在线定义混淆了。我试图创建一个UML类图来表示我的应用程序中的所有类。这是聚合关系还是简单的关联关系 我没有互相扩展的类,因为我制作了一个Android应用程序,它使用意图从一个活动传递到另一个活动,我只是在其他类中创建一些类的对象 此外,是否有任何方法可以在UML类图上表示意图 正在创建SessionManager对象: SessionManager sess
SessionManager sessionManager;
在onCreate方法中使用SessionManagerClass中的checkLogin()方法:
sessionManager = new SessionManager(this);
sessionManager.checkLogin();
它将具有一种关系,换句话说,就是聚合 聚合是一种特殊的关联形式。它是两个类之间的关系,就像关联一样,但是它是一个定向关联,这意味着它严格地说是单向关联。它表示一种具有-a关系 UML构造演示 更多信息:
我认为在这种情况下,组合关系是正确的
class A {
private B b = new B();
}
//or
class A {
private B b;
public A() {
b = new B();
}
}
复合聚合是关于运行时的。合成元素将与合成元素一起销毁。桌子在p。UML 2.5状态的110 复合|表示属性是综合聚合的,即复合对象对组合对象的存在和存储负有责任(参见11.2.3中的零件定义)
在您的案例中,似乎可以对此(关联端的填充菱形)进行建模。
SessionManager
应该是某种工厂生产的它负责的Session
对象。修复了,我应该裁剪出不相关的图表。修复了源代码抱歉让您很忙。但你所谓的“聚合”是一个共享的组合。请阅读第页。UML2.5的第110条指出,这种关系没有定义的语义。链接的答案肯定是过时的(在旧的UML版本中是有效的,很难),聚合定义是错误的。它不是一个“HAS-a”,而是一个“没有a就不存在”,即:发票行如果没有包含它的发票就不存在。@Luisalvaraday冰箱可以聚合到厨房中。冰箱没有厨房也可以存在。我们不想把冰箱和厨房一起毁掉。请共享指向源的链接,说明聚合没有“HAS-A”关系的原因