Re: [問題] 請問interface到底是做什麼用的?
※ 引述《kazenol (隨便啦)》之銘言:
: 嗯...這邊我的問題是,物件的compareTo方法,可不可以直接定義在物件的class裡?
: 因為物件去繼承介面,也是要在自己裡面去定義方法,那為什麼不自己來呢?
: 從多重繼承的字面來看,應該是會使用到父母類別的方法或變數,可是介面裡寫的
: 東西,除了跟父母類別的方法同名以外,我不知道繼承介面可以得到父母類別的什麼
: 東西?而且其他不是父母類別的類別,萬一有了同樣名稱的方法,那不就變成同時也
: 去繼承這個第三者了?
: 其他幾位大大的寫法,我能理解其中的:先定義一個規範,其他要繼承這個類別的
: 就要去把規範的內容寫出來。就好像是體委會丟一個建立二軍的公文要求中職六隊
: 去建立二軍,但是體委會什麼目標、進程都沒有,要六隊自己提出建立二軍的規劃表
: 然後上繳體委會,所以六隊提出的內容也會不一樣,但是基本上都有依照體委會"建立
: 二軍"的目標去做。
: 可是不見得每個二軍規劃表都有像la new一樣有"球員專用餐廳"啊,如果要使用
: 二軍.餐廳()這個func,不就會卡住?如果中職六隊不去繼承體委會這個介面,他們也
: 可以不用理會建立二軍這個規範。那是什麼原因這些class必須去繼承這個介面呢?
http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/
StrategyPattern.htm
Strategy Design Pattern 通常用這樣的機制去實踐的
也許您可以先看看感覺一下作者的意圖
我們不能以程式的觀點來看這個問題! 因為寫法有很多種。
但是要如何使程式達成鬆散的耦合則是一整個系統中的重點之一
您確時可以把演算法寫死在同一個class之內 :)
含有這隻演算法的物件, 可能無法輕易更換
因為演算法是針對這個物件而寫
反之,演算法也無法重複使用在別的物件之上
因為被綁死了,也就是傳說中的交互性耦合
這樣就失去了物件導向期待reusable的目標了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.214
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章