我将如何实现/将此 UML 图转换为 Java 代码?我必须使用构造函数吗?
这是图表:
回答您的问题:不,您不必使用构造函数,没有一个类显示一个,因此您只需在编译时生成默认构造函数即可。
这是基于此图片信息以可理解的格式存储的假设(例如从 IBM 的 Enterprise Architect 中提取的)您可以执行的操作。
1.) 学习 Java,以便您可以将例如“CEO”框转换为:
public class CEO extends Employee{
@Override
public void printDetails(){}
}
2.) 使用可以根据您的图表信息生成此类骨架的 IDE/工具。ArgoUml、Enterrpise Architekt、BlueJ、IntelliJ 和其他东西,只需谷歌搜索“java uml to code”
3.) 编写一个工具来解析UML 图片元数据并生成适当的代码。
在您的情况下,您可能想要选择 2.),然后聘请应用程序开发人员来为生成的骨架填充功能。
编辑:正如其他评论所建议的那样,您的图表存在问题。在上面 2.) 中的程序可以解析信息以生成类骨架之前,必须可以理解图表中的关系(箭头)表达的内容。看看例如办公室和部门之间的关系。作为人类,我可以将其解释为“是的,箭头可能确实表明办公室从部门延伸,而不是告诉我部门引用办公室,反之亦然”。但是,一个工具可以做出这个决定,它必须清楚两者的含义。通常,此箭头会建议两个类都持有对另一个类的引用,您可能更希望有一个箭头从 Office 指向部门,并附有标签“扩展”或“实现”。
首先,您必须了解 UML 中的每个表示法的含义,您可以根据这些表示法将它们转换为 java 类。下面是一篇很好的文章,试图解释。
使用 UML 工具ArgoUML。它基于java。ArgoUML 是领先的开源 UML 建模工具,包括对所有标准 UML 1.4 图表的支持。默认构造函数是一种很好的做法,因为在某些情况下,例如单例模式,您有一个私有构造函数。