我有一個從抽象類動態創建這是從一個抽象類
abstract class Order
{
public virtual boolean Export()
{
...
}
}
class TradeOrder : Order
{
public override bool Export()
{
//Create a new order
}
}
class LibraryOrder : Order
{
public override bool Export()
{
//Dont create order but Update an existing order
}
}
TradeOrder爲customertype「貿易」創建LibraryOrder爲customertype「圖書館創造派生2類派生的類的實例」。
客戶類型將在不久的將來增長。
如何根據客戶類型創建派生類的實例,而不使用if ... else或swicth ... case?
該類的實例將調用導出方法來創建或更新銷售訂單。
-Alan-
您如何在代碼中表示客戶類型?例如,您是否每個客戶類型都有一個類,它們都來自基類Customer類? –
這有幫助嗎? http://stackoverflow.com/questions/17835839/use-an-enum-to-select-which-class-to-instantiate – sgeddes
@MichaelLiu,customerType是一個枚舉,並在調用方法中定義 –