Интерфейсы в Managed C ++ выглядят немного странно, поскольку они допускают статические методы и члены внутри них. Например, ниже приведен действительный интерфейс MC ++.
interface class statinterface
{
static int j;
void Method1();
void Method2();
static void Method3()
{
Console::WriteLine("Inside Method 3");
}
static statinterface()
{
j = 4;
}
};
Ну, мой вопрос в том, что такое использование статических методов в интерфейсе. И что случилось с виртуальными таблицами и т. Д. Какими будут виртуальные таблицы классов, реализующих этот интерфейс. Есть много вопросов, которые приходят на ум. Этот тип класса, т. Е. Интерфейсный класс, не эквивалентен простому абстрактному классу, так как здесь у нас нет определения нестатических методов.
Я просто хочу знать мудрость использования статики в интерфейсе. Это безусловно противоречит принципам ООП ИМО.