2011-03-31 67 views
0

有一個CustomerData類,它包含各個字段以及這些字段的set/get方法。方法不可用

class CustomerData{ 

int ssn; 
int homePhone; 
int officePhone; 
String product; 
String sameAsPrev=null; 
// set/get methods 
} 

我需要用類Customer替換此類。客戶類是在jar文件中。因此我無法修改。 CustomerData的某些字段在Customer類中不可用,我需要在Customer Object上調用這些字段。

有一個限制,我不能添加任何類,只是用Customer替換CustomerData類。

在控制器調用設置方法後,他們使用地圖來存儲數據。

我怎樣才能得到這些字段的值。

請給一些建議?

+1

你可以使用包裝?或者也許是一個遏制? – RoflcoptrException 2011-03-31 11:35:10

+0

如果你有所有領域的獲得者,爲什麼你不能從客戶類訪問他們? – 2011-03-31 11:46:50

+1

您的問題尚不清楚 - 您應該使用Customer對象而不是CustomerData對象,但Customer類沒有提供足夠的信息?展示你的客戶類,展示你的控制器,或許它會變得更清晰。 – 2011-03-31 12:10:10

回答

0

如果在你的類中的字段,但是,這是不是在客戶類是強制性的,那麼你有兩種選擇: 選項1(ISA延伸) 用你的班級擴展客戶類。

public class CustomerDescendant 
extends Customer 
{ 
    ... stuff goes here 
} 

選項2(哈薩,包含): 內含Customer類的類。

public class CustomerWrapper 
{ 
    private Customer customerInstance; 

    ... stuff 

    getFieldInCustomerClass() 
    { 
    return customerInstance.getFieldInQuestion(); 
    } 

    ... stuff 
} 

選項3(獎勵選項): 有需要的字段,但是,這是不是在Customer類創建一個類。


public class FieldsNotInCustomerClass 
{ 
    ... all fields that are not in the customer class, but which are required. 
} 
+0

感謝您的建議。我會去嘗試一下。我會告訴你它的工作與否。再次感謝。 – kmme 2011-04-01 07:07:05