Re: [問題] 請問interface到底是做什麼用的?

看板java作者 (隱者)時間19年前 (2006/04/14 11:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/33 (看更多)
※ 引述《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
文章代碼(AID): #14FnNeWU (java)
討論串 (同標題文章)
文章代碼(AID): #14FnNeWU (java)