2013-10-02 73 views
1

我在創建軟件設計時遇到了問題。如何使用關聯類?

我有一份學生名單,每個學生可以選擇他們可以學習的一門或多門科目(帶名稱屬性的學生和科目課程)以及每對學生和科目,某些學習夥伴(其他學生)被分配。

對於如:

學生名字的列表可以是S1,S2,S3,S4。

名稱的主題列表可以是SU1,SU2,SU3,SU4。

現在指定科目的學生

S1 - > SU1,SU3

S2 - > SU1,SU4

S3 - > SU2,SU3,SU4

S4 - - > SU1,SU4

現在對於每對學生和學科我們可以有或不能有學習夥伴

PS:除自己以外的任何學生。

S1,SU1 - > S2,S4

S1,SU3 - > S4

S2,SU1 - > NULL(沒有學習夥伴)

S2,SU4 - > S3

S3,SU2 - > S1,S2

S3,SU3 - > NULL(沒有學習夥伴)

S3,SU 4 - > S4

S4,SU1 - > S1,S2

S4,SU4 - > S3

欣賞從任何人來設計該模型(UML圖或示例代碼)的幫助。我想過關聯班,但不知道它是如何適合的。

回答

2

也許你可以有一個類,環繞的SubjectStudyPartner的概念,就像一個SubjectWrapper,其中

class SubjectWrapper 
{ 
    Subject subject; 

    List<Student> studyPartners 
} 

而是具有Subject列表,每個學生將有SubjectWrapper列表,從而包裝學習對象的學生和學生名單。

class Student 
{ 
    // Name, Age, and what not... 

    List<SubjectWrapper> subjects; 
} 

在這種情況下空單將代表沒有研究夥伴

+0

有道理。謝謝(你的)信息 。 – srsyogesh