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

看板java作者時間19年前 (2006/04/14 20:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串20/33 (看更多)
※ 引述《godfat.bbs@ptt.cc (godfat 真常)》之銘言: > ※ 引述《sandwichC ( )》之銘言: > : 一種可能的解法如下 (如有更好的解法 還請賜教) > : interface IGoodAtSports{...} > : interface IGoodAtSinging{...} > : class father implements IGoodAtSports{...} > : class mother implements IGoodAtSinging{...} > : class child implements IGoodAtSports, IGoodAtSinging{...} > : 但若想讓father中sports的行為與child中sports的行為一模一樣 及 > : 讓mother中singing的行為與child中singing的行為一模一樣 > : 除了複製一次 還有什麼解法嗎? > : 我很久以前在java還programming版問過 > : 但最後似乎就無疾而終了… > : 若有人想到好解法還請不吝賜教 > 這樣如何? > interface IGoodAtSinging{ > public void sing(); > } > class ImplementOfSinging implements IGoodAtSinging{ > public void sing(){ out.prinln("I am singing"); } > } > class Father implements IGoodAtSinging{ > private ImplementOfSinging imp_sing_ = new ImplementOfSinging(); > public void sing(){ imp_sing_.sing(); } > } > class Child implements IGoodAtSinging{ > private ImplementOfSinging imp_sing_ = new ImplementOfSinging(); > public void sing(){ imp_sing_.sing(); } > } 這好像就是Strategy pattern 如果上上上樓說的複製一份是指程式碼複製一份, 那這方法的確是可以不用複製程式碼 (把Father的sing行為包裝成一個物件...Mother的sport包成一個物件 兒子直接拿來用就可..) -- ┌─────KKCITY─────┐KKMAN團隊 全新力作 ◎◎KKBOX◎◎ bbs.kkcity.com.tw 知名歌手通通都有 所有新歌想聽就聽 └──From:140.109.18.149 ──┘※※ 內容豐富多元的線上音樂台 ※※ --
文章代碼(AID): #14Fuy400 (java)
討論串 (同標題文章)
文章代碼(AID): #14Fuy400 (java)