Je regarde une classe VB.NET (que je n'ai pas écrite) qui est déclarée MustInherit
(abstract
en C#, je crois) qui a trois méthodes, qui sont toutes définies comme Shared
(static
en C#). Il n'y a pas de propriétés ou de champs dans la classe - seulement les trois méthodes. Du point de vue d'OO, cela a-t-il un sens?MustInherit et fonctions partagées
Ma pensée est pas, parce qu'en rendant MustInherit
, vous dites en substance que vous ne pouvez pas créer une instance de cette classe - vous devez hériter de et créer une instance de la classe dérivée. Mais puisque toutes les méthodes sont partagées, vous ne créerez jamais une instance de la classe parent, donc le MustInherit
ne fait rien. Vous pouvez aussi bien pas le marquer comme MustInherit
et en hériter juste quand vous le voulez.
Y a-t-il une situation où la création d'une classe est logique?
Les modules sont automatiquement importés dans un espace de noms, ce qui pourrait être une raison pour ne pas en utiliser un. – jmoreno