java - 我可以只使用一种概念还是需要使用java中的继承?

标签 java uml

我对自己的怀孕有疑问,想咨询一下您的建议

我的数据库中有一个表格时间表:

enter image description here

特殊时间表由日期定义,正常时间表由日期名称定义。

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

enter image description here

或者我只能创建一个包含日期和日期名称的概念,如果是特殊计划日期名称将为空,如果正常计划日期将为空?

enter image description here

非常感谢您的建议。

最佳答案

TL;DR

两者都可以。做对你更有利的事情。

做最适合你的事情

无论您关注编程原理、数据库构建还是概念建模,最重要的是您不受任何特定规则的限制或约束 - 这些只是您可以遵循或忽略的准则。主要规则是做最适合你的事情。例如,UML 和 Java(或任何其他编程语言)都不强制您在此处使用继承。是否应该使用它在很大程度上取决于两种类型的日程安排有多么不同。如果它们提供不同的操作或操作实现、关联等,最好将它们作为两个继承类处理,而不仅仅是一个类,但如果它只是一个属性,则继续使用单个类并添加一个约束,仅允许其中之一这两个属性不能同时为空。另请注意,同一概念在对代码进行建模时可能会产生继承类,但在定义数据库结构时可能会产生单个实体。

关于表示法

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

关于java - 我可以只使用一种概念还是需要使用java中的继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51890439/

相关文章:

asynchronous - 同步和异步消息的序列图

XML 架构 - maxOccurs ="unbounded"的元素包含多个可接受的类型

对象提供 UML 中的接口(interface)

java - 必须使用什么 UML 元素才能在类图上显示 JPMS 模块?

java - 不使用预定义函数打印数组长度

java - Android:尝试在 fragment 之间传递数据时出现问题

java - Eclipse 不允许我在驱动程序类中扩展 applet,因此我可以将程序嵌入 HTML 中。有什么解决办法吗?

java相同的功能不同的主要 Action

java - Java 和 SQL 中的时间跨度?

uml - MDriven中的"EffectiveName"和"OtherEnd"结构