用字串決定該執行的member? |
尚未結案
|
ericfan1031
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-09 發送簡訊給我 |
小弟最近在練習時,遇到一個小問題, 煩惱是不是能用字串來決定我要執行的member? 舉例來說, 我在自己的class中有多個member,假設我有一個member名為test 我要呼叫則是用 class->test(); 即可執行此member; 但是我是不是可以用字串來決定我該執行哪一個member, 也就是說 String z = "test";
class->z 則可以等同於 class->test(); 請問是否有內建的語法可以支援此項功能,否則就只能再寫case switch下去判斷了 煩請各位先進指教 謝謝
|
haman
中階會員 發表:46 回覆:137 積分:56 註冊:2005-03-10 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: 我在自己的class中有多個member,假設我有一個member名為test 我要呼叫則是用 class->test(); 即可執行此member; 但是我是不是可以用字串來決定我該執行哪一個member, String z = "test"; class->z 則可以等同於 class->test();觀念嚴重錯誤 比方說 class 人 { .... void 工作(); .... }; class 男人:繼承自 class 人 { .... void 工作(); .... }; class 小孩:繼承自 class 人 { .... void 工作(); .... }; 那這樣如果有一個 人->工作 那會是叫用 人的工作這個函數 如果人的工作這個函數是虛擬函數。是由繼承者去實做的話。 那當我們用 人->工作 那就會叫到男人->工作,或小孩->工作。 不同了。 不用什麼字串。。。。。。。。。 |
ericfan1031
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-09 發送簡訊給我 |
抱歉抱歉,應該是我的表達能力有問題 ^^! 就像版主舉的例子來說好了, class 男人
{
void 工作();
void 睡覺();
}; 那 如果我很明確知道 要讓男人去工作 則呼叫 男人->工作(); 這個ok。
那今天 我是要依據外部要求的事情來讓男人動作,
也就是 我只知道 某人會給我一個字串 令其為 action; 則我最簡單的方式 就是用 if...else 來知道男人做什麼。 但是 我的想法是 能不能夠利用像form上面的fincomponet這個member
來達到我的需求? 謝謝 版主及熱心的版友解答 ps: 我還真的已經用if...else...先來擋這個問題了 =.=
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
ericfan1031
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-09 發送簡訊給我 |
引言:所以應該是在人的地方寫 if else 來決定男人該做些什麼事情嗎? 其實我是想說 能不能一個字串進來就可以知道該做什麼事 如果我先前提到的例子,是不是知道 string = "工作" 就可以用字串要求做相對應名稱的method, 而不是用 if else 來判斷跟哪個method名稱相同 再來呼叫... 真的很感謝各位,尤其是版主 這麼熱心的為我這個初學者花腦筋, 謝謝大家的幫忙 ^^引言: 那 如果我很明確知道 要讓男人去工作 則呼叫 男人->工作(); 這個ok。 那今天 我是要依據外部要求的事情來讓男人動作, 也就是 我只知道 某人會給我一個字串 令其為 action;去搞個”人”在男人之上。 然後叫”人”工作。 就會跑到男人工作了。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |