首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对从两个潜在类派生的类进行建模

如何对从两个潜在类派生的类进行建模
EN

Stack Overflow用户
提问于 2015-11-25 09:13:27
回答 1查看 156关注 0票数 2

我正在写一个会计应用程序,不清楚如何对供应商建模。在我的业务领域中,供应商被定义为销售产品或提供服务的人或企业。人和企业之间的主要区别在于,人有名字、中间名和姓氏,而企业只有名字。

看起来供应商应该从两者中继承下来,但是我的编程语言Delphi不允许多重继承。有没有办法创建一个或两个继承关系,或者我是否应该在模型中包含每个name属性和一个"type“属性,该属性将接受"person,business”的值?

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 09:06:45

如果您说Person始终是一种Vendor,而Business始终是一种Vendor,那么您永远不可能拥有不是Vendor实例的Person实例,也不可能拥有不是Vendor实例的Business实例。这不管用。

让我们尝试颠倒层次结构。如果您说Vendor始终既是一种Person又是一种Business,那么Vendor的实例如果不同时是PersonBusiness就不可能存在。这也不起作用。

这里出了点问题!

输入角色。通常,由Actor播放Role。在您的示例中,Actor可以是PersonBusinessVendor是由这些Actors之一播放的Role。见鬼,您甚至可以使Actors的两个子类覆盖和不相交,这意味着您不能让Actor的实例既是Person的实例又是Vendor的实例,并且一个实例不能既是Person又是Vendor

角色为您提供了很大的灵活性。例如,您可以让一个Person在两个不同的Vendor中扮演不同的Buyers的角色。角色也可以来来去去,有开始时间和结束时间。因此,我认为角色是您正在寻找的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33906878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档