全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1214
推到 Plurk!
推到 Facebook!

用字串決定該執行的member?

尚未結案
ericfan1031
一般會員


發表:1
回覆:2
積分:0
註冊:2004-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-21 09:24:52 IP:140.112.xxx.xxx 未訂閱
小弟最近在練習時,遇到一個小問題, 煩惱是不是能用字串來決定我要執行的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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-22 02:25:11 IP:211.76.xxx.xxx 未訂閱
就我所知應該是沒有吧? 在class中一般的做法String是有用來做為設定值沒錯, 但有用到這個設定值的判斷多半都在method裡 不說別的,你在叫用class->z時到底是一個屬性還是method? 就像一個男人不可能同時也是一個女人吧?(理論上來說) ==================================== 懂的不多,卻想學的更多,搞得不自覺的將問題複雜化@@
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-22 11:23:24 IP:59.104.xxx.xxx 未訂閱
引言: 我在自己的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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-24 08:19:30 IP:140.112.xxx.xxx 未訂閱
抱歉抱歉,應該是我的表達能力有問題 ^^! 就像版主舉的例子來說好了, class 男人 { void 工作(); void 睡覺(); }; 那 如果我很明確知道 要讓男人去工作 則呼叫 男人->工作(); 這個ok。 那今天 我是要依據外部要求的事情來讓男人動作, 也就是 我只知道 某人會給我一個字串 令其為 action; 則我最簡單的方式 就是用 if...else 來知道男人做什麼。 但是 我的想法是 能不能夠利用像form上面的fincomponet這個member 來達到我的需求? 謝謝 版主及熱心的版友解答 ps: 我還真的已經用if...else...先來擋這個問題了 =.=
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-24 20:22:59 IP:59.104.xxx.xxx 未訂閱
引言: 那 如果我很明確知道 要讓男人去工作 則呼叫 男人->工作(); 這個ok。 那今天 我是要依據外部要求的事情來讓男人動作, 也就是 我只知道 某人會給我一個字串 令其為 action;
去搞個”人”在男人之上。 然後叫”人”工作。 就會跑到男人工作了。
ericfan1031
一般會員


發表:1
回覆:2
積分:0
註冊:2004-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-31 17:50:19 IP:140.112.xxx.xxx 未訂閱
引言:
引言: 那 如果我很明確知道 要讓男人去工作 則呼叫 男人->工作(); 這個ok。 那今天 我是要依據外部要求的事情來讓男人動作, 也就是 我只知道 某人會給我一個字串 令其為 action;
去搞個”人”在男人之上。 然後叫”人”工作。 就會跑到男人工作了。
所以應該是在人的地方寫 if else 來決定男人該做些什麼事情嗎? 其實我是想說 能不能一個字串進來就可以知道該做什麼事 如果我先前提到的例子,是不是知道 string = "工作" 就可以用字串要求做相對應名稱的method, 而不是用 if else 來判斷跟哪個method名稱相同 再來呼叫... 真的很感謝各位,尤其是版主 這麼熱心的為我這個初學者花腦筋, 謝謝大家的幫忙 ^^
系統時間:2024-04-20 18:12:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!