2015-06-23 77 views
1

任何人都可以提供代碼示例來顯示聚合和合成之間的區別。我已經Read This,並沒有理解它們在代碼中的差異。聚合和合成之間的代碼差異

請通過代碼顯示出不同之處。

+3

你們已經在這裏得到了在本頁面一個很好的例子。 http://stackoverflow.com/questions/11881552/implementation-difference-between-aggregation-and-composition-in-java –

+0

瞭解,... thnks酒店fr鏈接 – Aman

回答

0

的組合物和聚合之間的主要區別是,組合物是1對1的關係和聚合的1對多的。 要明確:一個班級只有一位教授,因此它是一個組合關係,一個班級可以有多個學生,因此它是一個聚合。

要將此轉換爲實際的代碼,Class對象(學校中的班級意義上的班級)可能有一個學生列表,並且只有一個Professor字段。這表明該班有一對多與學生的關係,但1-on-1與教授的關係。

例如代碼:

public class SchoolClass 
{ 
    Professor mProfessor; 
    List<Student> mStudents; 
}