Re: [問題] 繼承、界面、抽象

看板java作者 (葡萄糖)時間9年前 (2015/04/08 00:48), 9年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串5/9 (看更多)
※ 引述《jetswayss (小犬)》之銘言: : 我也是初學JAVA 試著闡述自己的想法 : 如有錯誤請大家教導 >< : 基本上分為 class 和 interface : class在分為 abstract和 concrete : 繼承是多型的基礎,多型是繼承的目的 : 1. : 而class跟interface本質上就不太一樣 : interface強調的是行為 : class強調的是實體 : 2. : concrete class和 abstract class : 最大差別在於能不能直接被instantiated : Animail 是一種實體 非行為 卻又不能被直接實體化 : 就屬於abstract class的範疇裡 : Cat 是一種實體 非行為 可以被實體化 : 屬於concrete class的範疇 : 而最初的問題 "抽象跟界面比較分不出差異" : 相異點: 本質,設計概念,目的 (一個是class 一個是interface 追求的目的不相同) : 相同點: 都有待實作之方法 : ※ 引述《pttworld (批踢踢世界)》之銘言: : : 抽象類別可實作方法。 : : 詳細請我們Java版的透"抽"版主回應吧,如果願意討論的話。 那我大概知道interface跟abstract的差異 以下是我的理解,有誤請訂正 abstract是被class extends過去,所以屬繼承,所以可以加新方法 ,而且必須所有方法 都實作出來 (精華區那個忘記動物叫的例子) interface是被class implements,所以只能實作interface的方法,不能新增方法 還有一個問題 因為兩者都提供方法而不實作 我看書上範例 把方法重新打過一次 那用interface去implement跟直接打與什麼差異? 只是compiler會幫你檢查而已? -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.86.159 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1428425317.A.607.html ※ 編輯: a07051226 (118.166.86.159), 04/08/2015 00:50:09

04/08 01:13, , 1F
去看strategy pattern感受一下
04/08 01:13, 1F
文章代碼(AID): #1L90fbO7 (java)
討論串 (同標題文章)
文章代碼(AID): #1L90fbO7 (java)