我有一个People
类,以及Student
and Employee
从它继承的类。但如果我有一个人既是Student
and an Employee
...
...您将如何实施这个?
这是问题域分析不当的典型例子。是的,在某些情况下,将“学生”视为“人”的一种类型,将“员工”视为“人”的类型可能是正确的,但是 - 根据您的问题领域 - 它也可能不合适。
如果您的域要求某物既是“学生”又是“雇员”,您应该考虑“学生”和“人”之间的关系在你的问题域中确实是一种“is-a”关系。
在这种特殊情况下,作为一名学生可能仅仅是一个属性某个特定的人。所以,John Doe 是一个人,他的“当前职业”也可能是“学生”。在这种情况下,他可能有几个“当前职业”的清单。在这样的世界中,关系变成了“has-a”而不是“is-a”。因此“学生”和“雇员”成为“职业”的子类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)