Re: [問題] 想請問interface的具體意義

看板java作者 (Alien)時間17年前 (2007/01/23 10:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/29 (看更多)
※ 引述《jaw109 (潑文章都是為了養小雞)》之銘言: [deleted] : 那麼正妹應該會這麼問:"你有存在任何電動雨刷嗎?" : 這.....這我不是很能理解耶.... 我還以為我之前的回文會令你理解... 我起初以為你的電動雨刷只是你不明白 interface 的意思, 但看來你是對 OO thinking 有錯誤認知 電動雨刷不該是交通工具的 class hirerarchy 當 中出現. 雨刷和交通工具的關係該是 has-a 而非 is-a 你家中的 Civic "是" 一個電動雨刷嗎? 比較正常的思維是有一個: "能刷雨" 的 interface. 那麼, 如果你的思維中, 不是所有交通工具都有 雨刷, 那麼 class hierarchy 就是 class 交通工具; interface 能刷雨 { void 刷雨(); } class 汽車 extends 交通工具 implements 能刷雨; class 機車 extends 交通工具; class Civic extends 汽車 class 山葉機車 extnds 機車; 那麼, 你做: Civic myCivic = new Civic(); 山葉機車 myYamaha = new 山葉機車(); 汽車 car = myCivic; //ok 交通工具 transportationMeans = myCivic; //ok 能刷雨 rainWashable = myCivic; //ok transportationMeans = myYamaha; //ok 但如果你 rainWashable = myYamaha; 就不合理了, 因為山葉機車根本就不是 能刷雨的 明白了嗎? Alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.72.0.45 ※ 編輯: adrianshum 來自: 202.72.0.45 (01/23 10:32) ※ 編輯: adrianshum 來自: 202.72.0.45 (01/23 10:34)
文章代碼(AID): #15jNDnK8 (java)
討論串 (同標題文章)
文章代碼(AID): #15jNDnK8 (java)