首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用关联类?

如何使用关联类?
EN

Stack Overflow用户
提问于 2013-10-02 17:41:08
回答 1查看 98关注 0票数 1

我在创建软件设计时遇到了一个问题。

我有一份学生名单,每个学生都可以选择他们可以学习的一个或多个科目(具有名称属性的学生和主题类),而且对于每一对学生和主题,必须分配一些学习伙伴(其他学生)。

例如:

有名字的学生名单可以是S1,S2,S3,S4。

具有名称的主题列表可以是SU1、SU2、SU3、SU4。

现在把科目分配给学生

S1 -> SU1,SU3

S2 -> SU1,SU4

S3 -> SU2,SU3,SU4

S4 -> SU1,SU4

现在,对于每一对学生和科目,我们可以有或不可能有学习伙伴。

除了他自己以外的任何学生。

S1,SU1 -> S2,S4

S1,SU3 -> S4

S2,SU1 -> NULL (无学习伙伴)

S2,SU4 -> S3

S3,SU2 -> S1,S2

S3,SU3 -> NULL (无学习伙伴)

S3,SU4 -> S4

S4,SU1 -> S1,S2

S4,SU4 -> S3

感谢任何人帮助设计这个模型(UML图或示例代码)。我考虑过联想类,但不确定它是如何适合的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-02 17:53:17

您也许可以有一个围绕SubjectStudyPartner概念的类,比如SubjectWrapper,其中

代码语言:javascript
复制
class SubjectWrapper
{
    Subject subject;

    List<Student> studyPartners
}

而不是有一个Subject的列表,每个学生将有一个SubjectWrapper列表,从而包装的主题和学生名单的学习伙伴。

代码语言:javascript
复制
class Student
{
    // Name, Age, and what not...

    List<SubjectWrapper> subjects;
}

在这种情况下,一个空的列表将不代表研究伙伴。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19143294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档