作者jaw109 (潑文章都是為了養小雞)
看板java
標題[問題] 想請問interface的具體意義
時間Mon Jan 22 18:26:58 2007
[前言]
是這樣子的,我是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