首页 > 解决方案 > 我可以只使用一个概念还是需要在java中使用继承?

问题描述

我对我的概念有疑问,我想请教您的意见

我的数据库中有一个表计划:

在此处输入图像描述

特殊计划由日期定义,正常计划由 dayName 定义。

我想知道当我为类图创建概念时我需要使用这样的继承?

在此处输入图像描述

或者我可以只创建一个带有日期和日期名称的概念,如果特殊日程日期名称将为空,如果正常日程日期为空?

在此处输入图像描述

非常感谢您的建议。

标签: javauml

解决方案


TL;博士

任何一个都可以。做对你更好的事。

做最适合你的事

无论您查看编程原则、数据库构建还是概念建模,主要的是您不受任何特定规则的限制或约束——这些只是您可能遵循或忽略的指导方针。主要规则是做最适合你的事情。例如,UML 和 Java(或任何其他编程语言)都不会强制您在这里使用继承。您是否应该使用它在很大程度上取决于两种类型的日程安排有多么不同。如果它们提供不同的操作或操作实现、关联等,最好将它们作为两个继承类而不是一个类来处理,但如果它只是一个属性,请继续使用单个类并添加一个约束,其中只有一个这两个属性不是同时为空的。

关于书写方式

这是你问题的一个旁注。你滥用了概括。在 UML 中,泛化箭头从更具体的类指向更通用的类。它也没有任何额外的铭文(如Extends) - 箭头形状本身仅用于概括目的。另一方面,Extends 是一个受限关键字,用于表示用例之间的依赖关系。所以反转你的箭头并从图中删除扩展。


推荐阅读