Name of the blog

Short description of the blog

Sealed Keyword in DOT NET

sealed Keyword

  • The sealed modifier can be applied to classes, instance methods and properties.
  • A sealed class cannot be inherited.
  • A sealed method overrides a method in a base class, but itself cannot be overridden further in any derived class.
  • When applied to a method or property, the sealed modifier must always be used with override.

 

Use the sealed modifier in a class declaration to prevent inheritance of the class, as in this example:

sealed class SealedClass 
{
    public int x; 
    public int y;
}
  • It is an error to use a sealed class as a base class or to use the abstract modifier with a sealed class.
  • Structs are implicitly sealed; therefore, they cannot be inherited.

Example

// cs_sealed_keyword.cs
using System;
sealed class SealedClass
{
    public int x;
    public int y;
}

class MainClass
{
    static void Main()
    {
        SealedClass sc = new SealedClass();
        sc.x = 110;
        sc.y = 150;
        Console.WriteLine("x = {0}, y = {1}", sc.x, sc.y);
    }
}

Output :

x = 110, y = 150

 

In the preceding example, if you attempt to inherit from the sealed class by using a statement like this:

class MyDerivedC: SealedClass {} // Error

you will get the error message:

'MyDerivedC' cannot inherit from sealed class 'SealedClass'.

 

Reference

sealed (C# Reference)

Add comment

biuquote
  • Comment
  • Preview
Loading