[問題] 繼承抽象類別的使用觀念請益
大家好,想向各位前輩請教~
有好幾隻程式分別都要跑三種方法A B C
其中AC是完全一樣的內容,只需照不同的類別卡不同參數內容,而B則是各個程式都完全
不同
因此我寫了一個抽象類別
內容包括
方法run() 用來呼叫A B C, 方法A(), 方法C()
和抽象方法B()
需要跑這些流程的這些程式就繼承這個抽象類別 並實作B()
另外有一個manager會包含main方法
負責new出這些類別並call run()
我的疑問是
1. 這樣的安排否妥當?
2. 如果把run() 移到main裡,是否有直接的優缺點?
我的想法是,因為run()裡的流程是好幾隻程式都相同的,因此把它放在抽象類別裡
但放在main裡好像也可以(再個別call子類別的各個方法),不知道關鍵差異在哪裡?
還請各位前輩不吝指教~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.233.10 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/java/M.1641474560.A.027.html
→
01/06 21:17,
2年前
, 1F
01/06 21:17, 1F
確實是被告知移到main裡面是因為有設計模式是這樣,只是不太理解寫在抽象類別中和在
main方法的優缺差異,感謝大大提供關鍵字
※ 編輯: chuneee (106.1.233.10 臺灣), 01/06/2022 21:38:54
→
01/07 11:10,
2年前
, 2F
01/07 11:10, 2F
→
01/07 11:12,
2年前
, 3F
01/07 11:12, 3F
→
01/07 11:13,
2年前
, 4F
01/07 11:13, 4F
→
01/07 11:13,
2年前
, 5F
01/07 11:13, 5F
→
01/07 11:15,
2年前
, 6F
01/07 11:15, 6F
→
01/07 11:18,
2年前
, 7F
01/07 11:18, 7F
感謝S大針對兩個問題都提供方向~
run()的內容的確是個支程式固定且會需要一直重複執行的,這樣放在抽象類別中應該沒
有問題
另外其實為了易於表達問題上面敘述有簡化,實際上流程A到C之間還有很多必做的方法需
要各自實作,我想應該符合is-a的關係
※ 編輯: chuneee (42.72.84.249 臺灣), 01/08/2022 15:51:13
java 近期熱門文章
PTT數位生活區 即時熱門文章