我们可以在接口中有成员变量吗?

问题描述:

我读过接口可以有成员变量的地方。只有我们可以在接口中有成员变量吗?

静态的最后常数,可以使用 他们没有实现该接口的类 资格。在其他爪子 上,这些不合格的名称 污染了命名空间。你可以使用 他们并且 来自 资格是可选的,因此它们并不明显。

我不是很明白他们的意思吗?任何帮助?

你读的内容不正确。接口不能有成员变量。

在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

如果你像这样定义一个常数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

向接口添加成员变量将通过后门引入MI。

不支持.NET,很抱歉。

我希望它在那里,但。

+0

它与多重继承无关。 – 2010-08-20 18:01:42

+2

如果它能够工作,它将与多重继承有关。 – Joshua 2010-08-20 19:08:19