我有以下類別:創建子類的一些實例在父類的方法
abstract class Transport{
protected String name;
protected Transport(String name){
this.name=name;
}
protected void DoSomething(){
//Creating some instances of the type of the current instance
}
}
class Bike: Transport {
public Bike(String name): base(name){
}
}
class Bus: Transport {
public Bus(String name): base(name){
}
}
我想什麼做的是建立內部的當前實例的類型的一些實例DoSomething
方法的Transport
類。
我該怎麼辦呢?
我可以創建一個靜態工廠方法,它接受我想要創建的子類的名稱,然後使用this.GetType().Name
將DoSomething
方法中當前實例的類名稱傳遞給它。
但這是最好的方法嗎?
非常感謝大家。
+1這是模板方法模式。 – 2011-04-03 07:51:21