我对我的构想有疑问,我想请教您
我的数据库中有一个表计划:
特殊时间表由日期定义,正常时间表由dayName定义。
我想知道在为类图创建概念时需要使用这样的继承吗?
或者我只能一起创建一个带有date和dayName的概念,如果是特殊的计划,则dayName将为null,如果正常的计划日期为null?
非常感谢您的建议。
答案 0 :(得分:3)
都可以。做对自己更好的事情。
无论您是看编程原理,数据库构建还是概念建模,最主要的是您不受任何特定规则的限制或约束-这些只是您可能会遵循或忽略的准则。主要规则是做最适合您的事情。例如,无论UML还是Java(或任何其他编程语言)都没有要求您在此处使用继承。是否使用它在很大程度上取决于两种时间表的不同之处。如果它们提供不同的操作或操作实现,关联等,则最好将它们作为两个继承的类而不是仅一个类来处理,但是如果它只是一个属性,则继续使用单个类并添加一个约束,使仅一个这两个属性不能同时为null。还请注意,在对代码进行建模时,相同的概念可能会构成继承类,而在定义数据库结构时可能会构成单个实体。
这是您的问题的旁注。您滥用泛化。在UML中,泛化箭头从更具体的类到更通用的类。它也没有任何其他题词(例如 Extends )-箭头形状本身仅保留用于概括。另一方面,扩展是用于限制用例之间依赖性的受限关键字。因此,反转箭头,然后从图中删除“延伸”。
答案 1 :(得分:1)
“ 保持简单,愚蠢!”
意味着编写您的代码总是很简单。如果您有复杂的概念,则可以使用继承。但是,只有我建议您使用此模型,才可以更改模型。