Re: [問題] 請問interface到底是做什麼用的?
※ 引述《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 》──┘※※ 內容豐富多元的線上音樂台 ※※
--
討論串 (同標題文章)
完整討論串 (本文為第 20 之 33 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章