1

我有下面的 UML 类图和 java 编码,请告诉我根据图我的编码是正确还是不正确,

在此处输入图像描述

[图1]

Class A{
  B b = new B();
}

Class B{
  A a = new A();
}

[图表2]

Class B{
  private void methodA(){
      A a = new A();
  }
}    
4

4 回答 4

1

图1看起来不错。图 2 不正确。

  1. 方法 A/B 应该是公开的
  2. 您应该在 B 类中有一个属性,而不是在方法主体的 init 类中,它表示与 A 类的关联
  3. 您不必根据仅将 UML 图映射到类来初始化方法中的类。

[图表2]

class A {
  public void methodA() {}
}

class B {
  A a;

  public void methodB() {}
}
于 2012-06-20T04:22:51.560 回答
1

图表的 Java 实现中有几个错误:

  • +指定public可见性,而您的方法是private
  • 该图没有指定每个方法的主体中的内容。两个身体都必须是空的
  • 该图没有说明变量ab是如何初始化的,所以= new A()= new B()需要省略。
于 2012-06-20T04:23:06.103 回答
0

代码1

Class A{
  B b;
}

Class B{
  A a;
}

代码2

Class A{

          public void methodA(){

      }
    }

    Class B{
    A a;
      public void methodB(){

      }

}

于 2012-06-20T04:27:13.337 回答
0

如果您在两个分类器之间创建关联,那么您还将在 UML2 类图中创建属性。方法流程显示在序列图中。

如果您不确定您的代码,最简单的方法是下载 EclipseUML Omondo 的 30 天评估:http ://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip

只需解压缩即可。

于 2012-06-20T09:06:18.020 回答