作者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