Re: [問題] 請問interface到底是做什麼用的?
※ 引述《cplusplus.bbs@ptt.cc (C++)》之銘言:
> ※ 引述《fayhong.bbs@bbs.cgu.edu.tw (28mm看世界)》之銘言:
> : 在還沒實作細部程式碼之前
> : 我習慣先用interface把未確定怎麼實作的部份
> : (或懶得寫..像資料庫存取的程式)
> : 寫出一個框框出來
> : 讓我的主程式呼叫它不會出錯 也先確定好那個程式要有什麼行為
> : 然後哪天想不開 等到下定決心了
> : 再來實作它 這就是interface XDDDD
> 你說的這個應該是 abstract class 吧
> interface沒有任何"框框" java裡面為什麼用implements配上interface
> 就是因為interface不做任何預設動作 抽象來看只是告訴你有這個介面的class可以提供
> 哪些功能
> 如果你有個method在class裡當做一個預設行為 繼承它可以不改寫 就是套用預設行為
> (空的不做事也算是預設行為)
> 這樣在java裡歸類在abstract class
其實....我不喜歡用 abstract class, 因為它是繼承關係
在物件 design principle 裡....某條講到說, 最好還是別用is-a, 多用has-a
又在某條法則裡提到....細節應依賴於抽象, 抽象不應依賴於細節
最好的做法, 就是先用抽象來定義好藕合結構再用實作來完成它
所以....既然abstract class跟interface蠻接近的, 所以會習慣用interface
不過, 最近沒碰到非用 abstract class 不可的程式倒是 @@b
--
java 好煩唷....有沒有人要一起來學Ruby呀 ~"~|||
--
※ Origin : 長庚巧克力傳奇/bbs.cgu.edu.tw/163.25.104.12
◆ By: fayhong From: 218-167-220-32.dynamic.hinet.net
討論串 (同標題文章)
完整討論串 (本文為第 30 之 33 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章