gpt4 book ai didi

uml - Java UML Student Worker 项目多重继承

转载 作者:行者123 更新时间:2023-12-04 22:13:25 25 4
gpt4 key购买 nike

我有一个练习要求我们为以下内容提供 UML 图:

  • Person 类(摘要)
  • 学生(名字、姓氏、学校、年级)
  • Worker(名字、姓氏、薪水)extends Person

学生可以是 worker 。 worker 也可以是学生。我将如何实现这一目标?

这是我的解决方案,但我知道它效率不高:

enter image description here

最佳答案

可能的解决方案如下: enter image description here

这个解决方案为学生同时是 worker 的情况增加了一个额外的类。

第一次更新

下图显示了 StudentWorker 如何从 WorkerStudent 继承,尽管这在每种编程语言中都是不可能的,并且可能这会导致菱形继承(钻石问题)

enter image description here

第二次更新

此解决方案仅使用实现接口(interface):

enter image description here

请注意,您仍然需要 3 个类(class)。 StudentWorker 分别实现了两个接口(interface),StudentWorker 实现了所有三个接口(interface)。这使得所有三个类成为 Person 以及 StudentIStudentWorkerIWorker 和一个 StudentWorker 一个 IStudent 和一个 IWorker。我希望这对您有所帮助或让您了解如何创建您的个人解决方案。

关于uml - Java UML Student Worker 项目多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50530616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com