gpt4 book ai didi

java - 如何设计这种类与类之间的关系呢?

转载 作者:行者123 更新时间:2023-11-30 01:51:28 26 4
gpt4 key购买 nike

我最近有一个对象/类设计问题。问题是这样的:

"You have a University and it has employees, which can be either Student or Teacher."

他们要求我只设计员工的关系,所以我做了一个简单的继承图

然后他问我如果Student可以成为Teacher的话会发生什么,它不能继承Employee和Teacher。我无法回答,所以他设计了一个带有 Role 类的解决方案。

另一个解决方案可能是使用装饰器模式?

我的第一个解决方案:

enter image description here

他对多重继承问题的解决方案

enter image description here

替代解决方案?

enter image description here

您对这些方法有何看法?

谢谢

编辑:我在 YouTube 上找到了一个视频,他们在其中描述并解决了这个问题,他们使用了相同的基于角色的组合解决方案。 https://youtu.be/dYUZiJEy0JE?t=1252

最佳答案

这是一个弱问题:“员工可以是学生教师”。他的解决方案允许不具有任何角色的员工,除非“员工”对象的创建者强制要求员工必须是两个角色之一的不变量。随着大学的出现,他实际上为你提供了更好的解决方案;也就是说,从雇员到学生或教师的不相交的特化。 This question is similar .

关于java - 如何设计这种类与类之间的关系呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882484/

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