可以說我有一個類cMenu,它有一個函數displayMenu()。該函數調用一個子類中的靜態函數的init(),這取決於傳遞給displayMenu(),像這樣:As3:傳遞類作爲參數,並調用靜態方法
cMenu.displayMenu('cMenuMain');
public class cMenu
{
public static function displayMenu(sMenu:String):void{
switch(sMenu) {
case 'cMenuMain':
cMenuMain.init();
break;
case 'cMenuHighscore':
cMenuHighscore.init();
break;
}
}
}
public class cMenuMain
{
public static function init():void{
trace('cMenuMain');
}
}
我的問題:我可以以某種方式避免了開關,並調用子菜單的函數init()動態地根據sMenu設置爲什麼? 類似於eval(sMenu+'.init()');
感謝提示!
Thx這就是我正在尋找的! – Ilyssis 2013-04-21 11:37:48
這並不意味着你將不得不爲所有不同的類都有一個大的if/else語句嗎? – 2013-04-21 21:24:05