2010-08-20 112 views
1

我讀過接口可以有成員變量的地方。只有我們可以在接口中有成員變量嗎?

靜態的最後常數,可以使用 他們沒有實現該接口的類 資格。在其他爪子 上,這些不合格的名稱 污染了命名空間。你可以使用 他們並且 來自 資格是可選的,因此它們並不明顯。

我不是很明白他們的意思嗎?任何幫助?

回答

5

你讀的內容不正確。接口不能有成員變量。

在VB.Net接口內唯一允許定義

  • 屬性
  • 方法
  • 活動
  • 類型定義(在C#中不合法)

我我不完全確定上面的段落是指什麼。雖然它聽起來像是指Java,但是它基於文本。他們的短語static和final通常與Java代碼相關,而不是.Net(靜態和只讀)。

你可以給我們更多的背景嗎?

+0

我從ppt的C#和OOOPS概念中獲得了該段落。那麼按照你的說法,在VB.NET中,我們不能在接口禮儀中有任何變量? – Antoops 2010-08-20 16:51:14

+0

@Antoops,正確。 – JaredPar 2010-08-20 17:00:47

1

如果你像這樣定義一個常數MyClass類中:

公共靜態最終詮釋MY_CONSTANT = 1;

你可以參考它從其他類如MyClass.MY_CONSTANT,使用MyClass的預選賽。這提示了常量定義的位置。

如果在接口MyInterface的定義這樣一個常數,你仍然可以使用參考MyInterface.MY_CONSTANT它。但是,在執行MyInsterface的類中,您可以簡單地使用MY_CONSTANT而不使用「MyInterface」前綴。

它看起來很方便(鍵擊較少),但可能會導致混淆,因爲沒有限定符(前綴),不清楚該常量最初定義在哪裏。

+0

這個問題被標記爲Vb.Net,你已經給出了什麼似乎是一個Java答案。 – JaredPar 2010-08-20 17:01:07

+1

同意。然而,這個問題表明,不清楚灰色框中的描述是什麼意思,而不是VB是否正確。 – spbfox 2010-08-20 17:09:03

+0

同意。這很混亂。 – JaredPar 2010-08-20 17:18:22

0

向接口添加成員變量將通過後門引入MI。

不支持.NET,很抱歉。

我希望它在那裏,但。

+0

它與多重繼承無關。 – 2010-08-20 18:01:42

+2

如果它能夠工作,它將與多重繼承有關。 – Joshua 2010-08-20 19:08:19

相關問題