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

看板java作者 (潑文章都是為了養小雞)時間17年前 (2007/01/22 18:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/29 (看更多)
[前言] 是這樣子的,我是C++的使用著 在閱讀SoftwareSolutions書籍或文章的時候 常常會看見JAVA的interface 我可以理解interface存在的立場 但我更想知道interface更具體的使用.... (或者,用C++的觀念去理解...... if it is possible) [範例] 假設有個抽象類別,叫做交通工具 其下分別衍生出汽車機車 然而,交通工具又引用著一個叫做電動雨刷的介面 我們都可以理解,所有的汽車都應該支援電動雨刷 而且所有的機車都應該不支援電動雨刷 [問題] 1. 正如JAVA所規範的,interface是一個"has-a"的關係;如果我使用 機車的電動雨刷的話,會出現error嗎? 又或者只是 do nothing而已? 2. 不管是哪一種交通工具,他們對interface的引用是靜態連結 還是動 態聯結? ie. 靜態連結 (這只是我對JAVA語法的胡亂猜測... XD) class 汽車 : public 交通工具 { 電動雨刷<裕隆牌的雨刷> m_雨刷; }; class 機車 : public 交通工具 { 電動雨刷<NULL> m_雨刷; }; 動態聯結 class 汽車 : public 交通工具 { 電動雨刷 m_雨刷; 汽車() : m_雨刷(裕隆牌的雨刷) {} //建構子 }; class 機車 : public 交通工具 { 電動雨刷 m_雨刷; 汽車() : m_雨刷(NULL) {} //建構子 }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.182.242
文章代碼(AID): #15j95pYH (java)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 29 篇):
文章代碼(AID): #15j95pYH (java)