看板 java 關於我們 聯絡資訊
※ 引述《lueichun (no anonymous)》之銘言: : 在講解繼承語法的文章內 : 都會講到子類別複製了父類別的內容 : 然後子類別又能去override從父類別複製過來的東西 並新增父類別沒有的東西 : 然後子類別就is-a父類別 : 但我不懂的是 : 既然子類別複製父類別的東西 會去修改它 : 然後又會增加新的 專屬於自己的東西 : 那為什麼還可以說子類別is-a父類別 : 說子類別包含(include)父類別不是比較合理? : 介紹相關議題的文章 通常是直接舉例說明 : 例如父類別是動物 子類別是貓 狗 : 但總覺得用這樣的例子來說明 有種以偏概全的FU : 不知道有沒有更general的解釋? https://www.slideshare.net/JustinSDK/java-se-7-16580919 https://www.slideshare.net/JustinSDK/java-se-7-16580938 https://www.slideshare.net/JustinSDK/java-se-7-16580955 你提過的如果跑車繼承狗,跑車 is a 狗不合理,編譯上確實可以過, 然而,是不合理的繼承,這是語意的問題,不是語法的問題,硬是要 撰寫程式有這樣不合理的語意,就是濫用繼承的概念。 這部份在第三個鏈結中有討論到… 合法的程式並不一定是合理的程式。 -- 良葛格學習筆記 http://openhome.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.10.35.125 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1525405592.A.C37.html ※ 編輯: JustinHere (39.10.35.125), 05/04/2018 11:50:12
lueichun: 感謝良葛格大大撥冗指導小弟 那我想再請問 雖然JAVA沒有 05/04 13:39
lueichun: 多重繼承的觀念 但如果有的話 比方說C繼承A B兩個類別 05/04 13:41
lueichun: 那可以說C is a A、C is also a B嗎 05/04 13:42
JustinHere: 同樣地,語法上可以,但語意上要留意合不合理 05/04 14:04
JustinHere: 比方說,海陸兩用車,繼承車也繼承船的話 05/04 14:06
JustinHere: 它 is a 車,它也 is a 船,這算合理 05/04 14:06
JustinHere: 跑車繼承車也繼承狗的話,語法上就算行得通 05/04 14:07
JustinHere: 語意上就不合理,如果只是為了重用程式碼,那就是濫用 05/04 14:08
lueichun: 了解了 謝謝 05/04 14:09
weapon0427: Java多重繼承是用interface 05/04 19:49
evo1994: 推良葛格~~~ 05/05 01:52