我想開發一個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
}
OR具有具體的數據類來擴展一些抽象數據類,並傳遞到處理方法,然後讓該方法檢查類型並據此採取行動:
void process(AbstractProcessDataObject data)
{
//Check for type here and do something
}
或者有沒有更好的方法來解決它?如果這是Web方法,方法會改變嗎?
在此先感謝
它本身並沒有表明它是如何工作的 - 正在使用什麼方法等等;如果doProcessing()是虛擬的(多態),過程(數據)方法的重點是什麼?直接調用它。 – 2009-02-03 12:24:53
+1:將進程()作爲多態方法委託給類。 – 2009-02-03 12:30:28