表示“Repotee”类和“Manager”类之间的关系

Posted

技术标签:

【中文标题】表示“Repotee”类和“Manager”类之间的关系【英文标题】:Representing relationship between "Repotee" class and "Manager" class 【发布时间】:2016-09-12 10:44:21 【问题描述】:

我试图理解类之间的关系。例如,我试图了解“经理”类和(他的)“报告人”类之间的关系,如下图:

据我了解,“Manager”和“Reportee”可以相互独立存在,不能用“继承”或“聚合”或“组合”来表示(因为它们不能相互包含,如果我的理解是正确的”。

那么我们如何编码这种类关系呢?

任何解释都会有很大帮助。

【问题讨论】:

你是编码还是业务分析? 我是 Java 开发人员,所以在编码之后。但是想知道我一直忽略的东西,这些东西似乎很抽象。与其有疑问,不如决定清除它们。 【参考方案1】:

您的类图更多的是关于业务分析。但是它缺乏reports 应该去的方向。所以它只是不完整/错误的。

当此模型转换为对开发人员有效的模型时,它将需要实现报告传输的类方法(例如,Manager 类上可能有一个 receive(Report) 方法。

【讨论】:

非常感谢您的解释。同意这是不完整/错误的(因为我不清楚:))。现在关于翻译成代码,是否意味着一个对象将成为另一个对象的一部分(例如,嵌入到 Manager 对象中的 Reportee 对象),如果是这样,那不是“集装箱船”(在集装箱船中,我们说“有“关系”。那么“有”怎么会变成“报告”。我很难理解这一点(主要是因为我的基础知识不明确)。任何明确这一点的指针都会有很大帮助。 没有。它们是独立的类。想想他们是如何一起工作的。正如建议的那样,Manager 中可能有一个“接收”方法,它接受来自Reportee 的报告。 非常感谢您的解释。有什么好的材料可以推荐给新手吗?做谷歌提供了很多信息,并且对什么是真实的或不是真实的感到困惑。顺便说一句,这种研究会属于“软件工程”吗? 是的,SE 范围很广(我在 30 年前研究过它)。留意 ICONIX。这对我掌握基本思想很有帮助。【参考方案2】:

我认为上面的例子可以解释如下 -

Reportee -- 向 ----> 经理汇报。

这就是我们如何显示reportee和manager之间的关联。你说得对,它不是继承、聚合、组合,而是它们之间的单向关联。

链接名称报告 更好地理解两个对象/实体之间的关系。

【讨论】:

以上是关于表示“Repotee”类和“Manager”类之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

用UML表示类之间的6种关系

Java自学-类和对象 访问修饰符

5.1 类超类和子类

实现一个名为Person的类和它的子类Employee, Manager是Employee的子类,设计一个接口Add用于涨工资,普通

桥接非托管类和托管类

C#第3章学习要点--常用类和结构的用法