Re: [問題] 請問interface到底是做什麼用的?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 28 之 33 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章