Sealed и abstract в C# имеют разные значения. 2
Sealed позволяет предотвратить наследование класса или определённых членов класса, помеченных ранее как virtual. 1 Классы могут быть объявлены как запечатанные путём помещения ключевого слова sealed перед определением класса. 1 Запечатанный класс не может использоваться в качестве базового класса. 1
Abstract позволяет создавать классы и члены классов, которые являются неполными и должны быть реализованы в производном классе. 1 Модификатор abstract указывает на то, что класс может быть использован только как базовый класс при наследовании. 2 Создавать экземпляры абстрактного класса нельзя. 2
Таким образом, модификатор sealed запрещает наследовать класс, в то время как модификатор abstract указывает, что класс обязан иметь производные классы. 2