面試測試,我被要求在面試中,如果我能實現以下問題的簡單解決方案:約多態性
- 創建管理不同的數據庫類。此類基本上具有3種方法:
Open()
,Close()
,Dataset GetDataSet(..)
- 的
Open()
和Close()
對於所有數據塊類型是相同的。 Dataset GetDataSet()
表現不同每種類型的服務器- 我需要實現這個不用「IF」句子的方法。
- 調用這些方法的函數不會暴露給內部功能。
static void Main(string[] args)
{
DBManager dbm = new DBManager();
dbm.getDataSet();
}
和此:
public Dataset getDataSet()
{
OpenConn();
// get dataset
// sdb = new SQL/new Oracle <-- I AM NOT ALLOWED TO USE "IF" HERE
// that's it
CloseConn();
return sdb;
}
您省略問一個問題。 – 2015-07-20 05:49:07
_ [我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)_ – MickyD
是否允許繼承?意思是:SqlDateSet:DataSet?所以getDataSet()將是Abstract?:),或者您可以使用Switch而不是XD。或者在列表中創建3個數據集並調用getdataset(索引)XD ok ok忘記最後兩個解決方案^^ – Chaka