我可以只使用一个概念,还是需要在Java中使用继承?

时间:2018-08-17 07:33:06

标签: java uml

我对我的构想有疑问,我想请教您

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

enter image description here

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

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

enter image description here

或者我只能一起创建一个带有date和dayName的概念,如果是特殊的计划,则dayName将为null,如果正常的计划日期为null?

enter image description here

非常感谢您的建议。

2 个答案:

答案 0 :(得分:3)

TL; DR

都可以。做对自己更好的事情。

做最适合自己的事情

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

关于符号

这是您的问题的旁注。您滥用泛化。在UML中,泛化箭头从更具体的类到更通用的类。它也没有任何其他题词(例如 Extends )-箭头形状本身仅保留用于概括。另一方面,扩展是用于限制用例之间依赖性的受限关键字。因此,反转箭头,然后从图中删除“延伸”。

答案 1 :(得分:1)

  

保持简单,愚蠢!

意味着编写您的代码总是很简单。如果您有复杂的概念,则可以使用继承。但是,只有我建议您使用此模型,才可以更改模型。