Нет такого преимущества в использовании static
метода.static
методы не переопределяют virtual
методы (которые всегда не являются static
).
На самом деле имеет недостаток , что вы не можете реализовать фактическое метод для переопределения базового метода.Потому что нельзя иметь одну и ту же сигнатуру метода в одном class
(один static
, а другой - не static
).
class Impl :IInterface
{
public :
~Impl();
staic void fn();
void fn() {} // error: invalid (can't have same signature)
};