2011-03-31 75 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