What is a sealed class in C#?

Sealed classes are used to restrict the inheritance feature of object oriented programming. Once a class is defined as a sealed class, the class cannot be inherited.

class Class_1 {} sealed class Class_2 : Class_1 {}

"sealed" modifier

The "sealed" modifier in C# is used to designate a class as sealed. A sealed class is one that is intentionally designed to prevent other classes from inheriting from it. This means that it cannot serve as a base class for any derived classes. Sealing a class indicates that it is specialized and does not require any additional functionality through inheritance or the ability to override its behavior. Sealed classes are often utilized to encapsulate a specific logic or functionality that is meant to be used throughout the program without any modifications.

The primary purpose of using sealed classes is to prevent derivation. By sealing a class, you ensure that it is the last class in the inheritance hierarchy, and no other classes can be derived from it. This restriction can result in certain runtime optimizations, potentially leading to slightly faster execution of sealed class members.

When designing a class as sealed, careful consideration should be given to the implications. Sealing a class limits its extensibility, so it is important to thoroughly assess the requirements and possibilities during the design phase. Once a class is sealed, it cannot be further extended or derived from, so it is essential to ensure that all necessary functionalities are already implemented within the sealed class.


The sealed modifier is used to indicate that a class is not intended to be inherited from. Sealed classes provide design benefits such as preventing derivation, potential performance optimizations, and encapsulating specialized logic that does not require modification through inheritance. However, it is crucial to consider the design implications and carefully assess the need for sealing a class before implementing it.