托管 C++ 中的接口对我来说有点奇怪,因为它们允许在其中使用静态方法和成员。例如,以下是一个有效的 MC++ 接口。
interface class statinterface
{
static int j;
void Method1();
void Method2();
static void Method3()
{
Console::WriteLine("Inside Method 3");
}
static statinterface()
{
j = 4;
}
};
好吧,我的问题是接口中静态方法的用途是什么。以及虚拟表等发生了什么。实现此接口的类的虚拟表将是什么。有很多问题浮现在脑海。这种类型的类,即接口类不等同于普通的抽象类,因为我们不能在这里定义非静态方法。
我只想知道在界面中允许静态的智慧。这肯定违反了 IMO 的 OOP 原则。