Re: [問題] 請問interface到底是做什麼用的?

看板java作者 (夜夢紛)時間19年前 (2006/04/15 23:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串28/33 (看更多)
※ 引述《cplusplus (C++)》之銘言: : ※ 引述《fayhong.bbs@bbs.cgu.edu.tw (28mm看世界)》之銘言: : : 在還沒實作細部程式碼之前 : : 我習慣先用interface把未確定怎麼實作的部份 : : (或懶得寫..像資料庫存取的程式) : : 寫出一個框框出來 : : 讓我的主程式呼叫它不會出錯 也先確定好那個程式要有什麼行為 : : 然後哪天想不開 等到下定決心了 : : 再來實作它 這就是interface XDDDD : 你說的這個應該是 abstract class 吧 : interface沒有任何"框框" java裡面為什麼用implements配上interface : 就是因為interface不做任何預設動作 抽象來看只是告訴你有這個介面的class可以提供 : 哪些功能 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 這就是Interface的精神...開放出來的使用介面...或妳想把他稱為功能介面.. 若覺得符合你需要...就去 implements此介面...不想實作也可以自己寫method 達到同樣功能....就像是C++裡的public function........... 所以.....介面老實說我認為跟繼承無關....繼承是 is-a...介面不是........ 有USB Interface的裝置是有"USB介面傳輸功能",但是此裝置不是一種(is-a)USB.. 本質還是原本的的class...我猜這就是為何Java沒有多重繼承的原因.......... Interace 只是讓你去實作延伸功能動作用的....讓這個class的object都具有 此介面的功能.....若妳不想用該介面....亦可自己寫一樣功能的介面.... 但本質上我是覺得介面.......一點都不是繼承................. 供參考......大家討論也不錯........ : 如果你有個method在class裡當做一個預設行為 繼承它可以不改寫 就是套用預設行為 : (空的不做事也算是預設行為) : 這樣在java裡歸類在abstract class -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.92.216
文章代碼(AID): #14GHKwKA (java)
討論串 (同標題文章)
文章代碼(AID): #14GHKwKA (java)