类特化是否可不参与父类关联?以员工与经理特化为例
类特化能不能跳过父类的某个关联?
直接结论
当然可以。类特化(也就是子类继承父类)虽然默认会继承父类的所有属性和关联,但这不是必须严格遵守的死规则,完全可以根据实际业务逻辑灵活调整。
拿员工-经理的场景举例
正常情况下,经理本质就是员工的一种,肯定隶属于某家公司,所以必然要参与“员工-公司”这个关联。但如果存在特殊业务场景——比如临时顾问型经理,不需要和任何公司签隶属协议,只负责项目管理指导——那这种经理就可以不参与该关联。
建模时只要明确标注这个例外规则,避免歧义即可;代码实现层面也能落地:如果父类(员工)的关联是强制要求的,子类(经理)可以通过重写逻辑、设置空值或虚拟占位对象来规避;如果父类关联是可选的,直接不设置该关联属性就行,只要符合业务需求就没问题。
内容的提问来源于stack exchange,提问作者dok
相关产品推荐
相关产品推荐

