如果我有一个系统来组织飞行员和他们为工作而飞行的飞机的时间表。还有一个负责安排日程的经理。但经理也是一名飞行员。我需要两个单独的用户子类作为飞行员 + 经理吗?或者例如在试点课程中使用 isManager 的属性会更实用吗?或者经理会是飞行员的孩子吗?
如果 schdule 类是system的组合,那么创建新计划的方法是否必须在 system 类中?
如果我有一个系统来组织飞行员和他们为工作而飞行的飞机的时间表。还有一个负责安排日程的经理。但经理也是一名飞行员。我需要两个单独的用户子类作为飞行员 + 经理吗?或者例如在试点课程中使用 isManager 的属性会更实用吗?或者经理会是飞行员的孩子吗?
如果 schdule 类是system的组合,那么创建新计划的方法是否必须在 system 类中?
老实说,这取决于应用程序的要求以及您希望如何实现它,因为可能没有正确或错误的答案。Pilot 和 Manager 可以是 User 类的单独泛化。用户也可以是一元关系。谁说不能在 User 类中放置 isPilot 字段?最后,将两者拆分为 User 的子类可能更实用。我知道在编码时我会这样做,将 User 作为我的基类,然后让 Pilot 和 Manager 扩展 User。
你可以有这样的东西:
或者,如果经理始终是飞行员,您可以这样做:
我个人会实施前者,因为如果出现一个不是飞行员的经理怎么办?同样,就像我说的那样,这取决于应用程序的要求以及您希望如何实现它。两种方式都没有错。