Classes

C# Sealed Classes

Sealed Classes

C# sealed classes prevent inheritance for security.

Understanding Sealed Classes in C#

In C#, a sealed class is a class that cannot be inherited. By marking a class as sealed, you prevent other classes from deriving from it. This is particularly useful when you want to control the behavior of your classes and ensure that certain functionalities are not altered by subclassing.

When to Use Sealed Classes

Sealed classes are commonly used in scenarios where:

  • You want to prevent further inheritance of a class for security or design reasons.
  • The class provides a complete implementation that should not be extended.
  • Performance is a concern, as sealed classes can lead to more efficient method calls.

Syntax for Declaring Sealed Classes

Declaring a sealed class in C# is straightforward. You simply use the sealed keyword before the class declaration:

Attempting to Inherit a Sealed Class

If you try to inherit from a sealed class, the C# compiler will throw an error. This ensures that the sealed class's behavior remains unchanged:

Sealed Methods in C#

In addition to sealing entire classes, you can also seal methods within a class. This is done by using the sealed keyword in conjunction with the override keyword:

In this example, the Show method in DerivedClass is sealed, preventing any further overriding by subclasses of DerivedClass.

Advantages of Using Sealed Classes

Using sealed classes offers several advantages:

  • Security: Prevents unauthorized or unintended inheritance.
  • Performance: Sealed classes can be optimized better by the CLR, improving execution time.
  • Design clarity: Ensures that the class design remains intact and unaltered.

Conclusion

Sealed classes are a powerful feature in C# that provide control over inheritance and behavior of your classes. By understanding and utilizing sealed classes effectively, you can enhance the security and performance of your applications. Remember to use them when you need to lock down a class implementation to prevent further modifications.

Next
Enums