Les interfaces dans l'aspect C++ managé me paraissent étranges puisqu'elles permettent des méthodes statiques et des membres à l'intérieur d'elles. Par exemple, suit est une interface MC++ valide.classe d'interface dans Managed C++
interface class statinterface
{
static int j;
void Method1();
void Method2();
static void Method3()
{
Console::WriteLine("Inside Method 3");
}
static statinterface()
{
j = 4;
}
};
Eh bien, ma question est quelle est l'utilisation de méthodes statiques dans une interface. Et qu'est-il arrivé aux tables virtuelles, etc. Quelle sera la table virtuelle des classes implémentant cette interface. Il y a beaucoup de questions qui me viennent à l'esprit. Ce type de classe, c'est-à-dire la classe d'interface, n'est pas équivalent à une classe abstraite simple car nous ne pouvons pas avoir de définition de méthodes non statiques ici.
Je veux juste savoir la sagesse de permettre la statique dans l'interface. C'est certainement contre les principes OOP OMI.