我想开发一个process()方法.该方法以数据类的形式获取一些数据并对其进行处理.数据类很相似,但略有不同.
例如,我们有以下数据类processDataObject_A,processDataObject_B和processDataObject_C.
重载方法更好:
void process(processDataObject_A data)
{
//Process processDataObject_A here
}
void process(processDataObject_B data)
{
//Process processDataObject_B here
}
void process(processDataObject_C data)
{
//Process processDataObject_C here
}
Run Code Online (Sandbox Code Playgroud)
或者让具体的数据类扩展一些抽象数据类,并将其传递给流程方法,然后让方法检查类型并采取相应的行动:
void process(AbstractProcessDataObject data)
{
//Check for type here and do something
}
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法来解决它吗?如果这是一个Web方法,这种方法会改变吗?
提前致谢