[問題] 多個子類別有共同的屬性
父類別 X
有26個屬性 a~z
子類別 X-1、X-2、X-3繼承X
目前遇到的窘境是,每次Switch判斷是X-1、X-2、X-3其中一類後,
都必須再次手動塞屬性值給這三個子類別,總共要寫 26x3=78個餵值動作
原本以為把父類別先塞完屬性,再轉換型別用子類別接收,這樣就只要做一次就好
但沒想到繼承只能子轉父,不能父轉子..
想請教高人們,這種狀況該如何優化呢?
------------------------------------
補上實際範例
父類別 Car 子類別TwoTire、ThreeTire、FourTire
父類別屬性 Owner、Maintainer、Designer
Switch (CarType) //DB存取的值
{
case "TwoTire":
TwoTire 2t = New TwoTire();
2t.Owner = "xxx";
2t.Maintainer = "yyy";
2t.Designer = "zzz";
//後面都是子類別本身特有的屬性
2t.?? = ???;
break;
case "ThreeTire":
ThreeTire 3t = New ThreeTire();
3t.Owner = "xxx";
3t.Maintainer = "yyy";
3t.Designer = "zzz";
//同2t
3t.?? = ???;
break;
case "FourTire":
FourTire 4t = New FourTire();
4t.Owner = "xxx";
4t.Maintainer = "yyy";
4t.Designer = "zzz";
//同2t
4t.?? = ???;
break;
}
因為父類別有的屬性,其實值都是固定的,變成Switch裡面每個子類別都要做一樣的事
,所以我其實想做的事就是讓它做一次就好,但經驗不足不曉得該如何設計...QQ
再麻煩各位大神指點了,感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.204.169.33 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1626850883.A.807.html
推
07/21 15:14,
3年前
, 1F
07/21 15:14, 1F
→
07/21 15:15,
3年前
, 2F
07/21 15:15, 2F
推
07/21 18:15,
3年前
, 3F
07/21 18:15, 3F
→
07/21 18:16,
3年前
, 4F
07/21 18:16, 4F
推
07/21 18:27,
3年前
, 5F
07/21 18:27, 5F
→
07/21 18:39,
3年前
, 6F
07/21 18:39, 6F
推
07/24 18:50,
3年前
, 7F
07/24 18:50, 7F
→
07/24 18:52,
3年前
, 8F
07/24 18:52, 8F
→
07/24 18:53,
3年前
, 9F
07/24 18:53, 9F
※ 編輯: windmax1 (203.204.169.33 臺灣), 07/24/2021 23:51:36
→
07/24 23:51,
3年前
, 10F
07/24 23:51, 10F
推
07/25 10:27,
3年前
, 11F
07/25 10:27, 11F
→
07/25 10:29,
3年前
, 12F
07/25 10:29, 12F
→
07/25 10:40,
3年前
, 13F
07/25 10:40, 13F
→
07/25 10:56,
3年前
, 14F
07/25 10:56, 14F
→
07/25 10:57,
3年前
, 15F
07/25 10:57, 15F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章