2013-12-22 45 views
0

我想設計一個與此類似的問題,我有一個包含另一個對象的對象,如下例所示。我試圖找出一種方法來從第二個對象獲取第一個對象屬性,而不必在它們之間複製不必要的屬性,這聽起來不像是一個好的編程實踐。如何有效地從該對象中包含的另一個對象獲取對象字段/屬性

例如:

class employee{ 
    String name; 
    int age; 
} 
class company{ 
    String companyName; 
    List<employee> employeeList; 
} 

我的問題是,給定一個員工對象,我怎麼能accesss,這個員工對工作中的公司名稱?一種解決方案是將companyName添加到每個員工對象,但這似乎是一種冗餘的內存浪費,因爲它是「保證」的,即每個員工只爲一家公司工作。

回答

3

你現在擁有一種單向依賴的方式。換句話說,company取決於employee。但是,employee對它所屬的company一無所知。

您可以將company場只需添加到employee與您共創每次employee或將其添加到companyemployeeList,記得更新現在的雙向依賴的兩側。


請注意,Java命名約定規定類型名稱應以大寫字母開頭。

1

C++:您可以給員工一個company指針,作爲employee構造函數的一部分傳遞,並通過該指針訪問companyName

+1

是的,它也適用於java – Keeto

相關問題