何謂interface(介面)

建議適合閱讀的程度:Method的呼叫/建立,能運用自如的開發人員

 

  記得在剛上課的時候,那時候講到介面,聽得我一頭霧水的,

聽也聽不懂,查也查不出所以然,後來每隔幾週就會再去看一次何謂介面,

直到上一週終於開竅,總算了解介面的功能以及應用的場合。

 

  接下來就來討論一下,到底什麼是介面!


介面說穿了是個可以用,也可以不用的東西。你在講三小

明確地來說,介面是一個針對程式架構優化的方式,

再白話一點,就是說小型/簡單的專案可以不用使用到介面,

因為牽一髮而動全身的情況並不常見

那麼大型專案為什麼要用呢?

 

我們來實際模擬一個情況看看

 

我們現在有一把槍,分別分給三間廠商製造子彈,並且把子彈的規格書都交給廠商,

分別為A廠商、B廠商、C廠商

開工後數週,三間都廠商順利的生產出子彈了,任務完成!

 

三年後,因應戰場的變化,子彈必須改成穿甲彈,規格也跟著變了,

在通知廠商重發規格書的時候,卻只通知到了A廠商、B廠商,

而C廠商卻被忽略掉了

因此產出來的子彈會變成「穿甲彈、穿甲彈、子彈」

若是檢查的人員並沒有發現這個情況,到了戰場會發現

「靠北怎麼來的是子彈,這下要怎麼打仗?」

 

因此,為了避免上述的情況

衍伸而出了一個東西叫做介面,今天規格書依舊由軍方開立,

只是廠商在製造以前,必須向軍方確認,現在是子彈亦或是穿甲彈,

才開始進行生產。

 

這種設計方式能有效的做好規範,避免牽一髮動全身的時候,有忽略之處。

如果還是不懂的,可以參考這張圖片

 

有些人可能會說

「就三個類別而已!我自己動手改就好啦!不會忘記的啦!」

但介面的好處就是

「我才不管你是三個、一百個、一千個,就是做好規範來讓你遵循!

萬一漏改了,由編譯器來提醒你,大幅提升程式碼之間的關聯性。」


LINE討論群FB討論區

歡迎您的加入,讓這個社群更加美好!

聯絡方式:
FaceBook
E-Mail