[爆卦]interface意義是什麼?優點缺點精華區懶人包

為什麼這篇interface意義鄉民發文收入到精華區:因為在interface意義這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者TonyQ (骨頭 (MSN掛了))看板java標題Re: [問題] 想請問interface的...

interface意義 在 Openbook閱讀誌 Instagram 的最佳貼文

2021-09-13 12:10:45

Openbook成立4年多了,我們總是把一切想得太過簡單,總是想著該做的事那就去做吧。光是這支影片的拍攝,就有好幾個故事可以說。 規畫這次影片架構時,導演廖建華要求我們,要從製作過的2000多篇報導中挑選素材。因為影片時間有限,這就好比你走進塞滿蔬菜水果魚鮮雜貨的批發市場,但只能裝一個小小紅白塑膠...



※ 引述《jaw109 (潑文章都是為了養小雞)》之銘言:
: [前言]
: 是這樣子的,我是C++的使用著
: 在閱讀SoftwareSolutions書籍或文章的時候
: 常常會看見JAVA的interface
: 我可以理解interface存在的立場
: 但我更想知道interface更具體的使用....
: (或者,用C++的觀念去理解...... if it is possible)
: [範例]
: 假設有個抽象類別,叫做交通工具
: 其下分別衍生出汽車與機車
: 然而,交通工具又引用著一個叫做電動雨刷的介面
: 我們都可以理解,所有的汽車都應該支援電動雨刷
: 而且所有的機車都應該不支援電動雨刷

個人覺得 interface比較像是"貼標籤"
被貼上這個標籤的東西,就會具有共同的特性。

像你說的例子,交通工具就不適合貼上"電動雨刷"的標籤,
因為不是所有交通工具都有電動雨刷(機車沒有)。

一個最簡單的例子,comparable是一個常見的Java Interface,
只要被貼上comparble的class,都可以用compareTo的method做比較,
而不需要管它本來是甚麼型態或甚麼型別。


還有一個更簡單的例子,
Serializable(可序列化) 常用在資料串流的處理,

它甚至不需要實做任何method,就只是告訴它的使用者,
『寫我的人認為我可以是可序列化的,請你安心使用。』 XD


一點拙見^^"

--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.practice()); | Bone everything

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68

你可能也想看看

搜尋相關網站