我一直在网站上搜索,但我找不到感觉正确的东西。我想将这个java代码重写为UML图。
public class Fotbollslag {
private Spelare[] lag=new Spelare[30];
public void läggTillSpelare(Spelare spelare){
lag[antalSpelare]=spelare;
antalSpelare++;
答案 0 :(得分:0)
以下面的代码为例:
public class Employee {
private static String department = "R&D";
private int empId;
private Employee(int employeeId) {
this.empId = employeeId;
}
public static String getEmployee(int emplId) {
if (emplId == 1) {
return "idiotechie";
} else {
return "Employee not found";
}
}
public static String getDepartment() {
return department;
}
}
以上示例是Employee
类的示例,它有两个private
类型属性int
和String
,一个Constructor
和两个public
属性{1}}类型为String
的方法。在UML中,我们对不同的范围有不同的符号,例如private, public, package and protected
。
UML符号是:
public: (+), private: (-), package: (~) and protected: (#)
对于上面提到的代码,UML类图将如下所示:
如您所见,Class diagram
看起来像一张桌子,它分为三个部分:
上半部分包含Class name
,中间部分,其中包含attributes
,最后是包含methods(functions)
的下半部分。
Class
的名称通常是Bold,表格的中间单元格是attributes
的{{1}}部分,底部是您编写的部分你的Class
。因此,编写methods
的正确表示法将首先给出属性范围的符号(attribute
if -
,private
if +
),然后是属性的名称(public
案例中的empId
),用冒号(Employee
)分隔,然后是属性的类型(:
或{{1例如),并且如果它已经初始化,那么你也要写这个属性的值。对于String
来说,这是同一个故事。在你的问题中,你之间没有任何关系,所以我没有包括任何关系解释。
我建议您阅读有关int
图表的更多信息,并将代码转换为methods
,您可以访问this link。
编辑:
我刚刚注意到您在评论中提到您不知道如何在UML图表中表示UML
。从你的第一个问题不清楚,但这是在你的例子中应该怎么做:
UML Class diagrams
说明:请注意,array
的展示率为-lag[0..29] : Spelare
,因此表示法为array
。在可见性之后,我们写了private
的名称,它的初始大小(在你的情况下,大小是30,因此,索引-
,用冒号分隔,我们写的类型为数组,在您的情况下是array
。
我希望这能回答你的问题。
答案 1 :(得分:0)