[問題] 重構
請問一下,我遇到類似這樣的程式碼,有兩個視窗元件
class Tfrm1:public TForm;
class Tfrm2:public TForm;
當我先對Tfrm1作重構時,裡面某個事件(ex. button_click)
有一長串冗長的code,所以我就新增了一個函式func把它包起來,比較簡潔
class Tfrm1:public Tform{
public:
void func();
...
};
然後當我對Tfrm2作重構時,也發現有一樣的code,所以也把它包起來
class Tfrm2:public Tform{
public:
void func();
...
};
結果發現兩個func是一樣的,請問這兩個func可以再合成一個func共用嗎
目前想到的方式是繼承,但是考慮到幾個問題
這一段code也許分別對該視窗的元件取值,ex. int val=label1.caption 類似這樣
將func寫在TForm,讓繼承的元件可以使用,好像也不可行
何況TForm也不能去修改(應該吧,不是很確定),請問可以怎麼再進一步改善呢?
也許問的不是很明確,因為也不太會描述這個問題,希望有人了解,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.184.47
※ 編輯: tyc5116 來自: 111.251.184.47 (02/14 11:12)
推
02/14 12:05, , 1F
02/14 12:05, 1F
→
02/14 12:06, , 2F
02/14 12:06, 2F
→
02/14 12:32, , 3F
02/14 12:32, 3F
→
02/14 12:32, , 4F
02/14 12:32, 4F
→
02/14 12:55, , 5F
02/14 12:55, 5F
→
02/14 16:37, , 6F
02/14 16:37, 6F
→
02/14 18:12, , 7F
02/14 18:12, 7F
→
02/14 18:13, , 8F
02/14 18:13, 8F
→
02/14 18:34, , 9F
02/14 18:34, 9F
→
02/14 18:35, , 10F
02/14 18:35, 10F
→
02/14 20:08, , 11F
02/14 20:08, 11F
討論串 (同標題文章)