What are sealed classes and sealed methods

In this article, I will try to explain sealed class and sealed method in a very simple way.

C# Sealed Class

Sealed class is used to define the inheritance level of a class.

The sealed modifier is used to prevent derivation from a class. An error occurs if a sealed class is specified as the base class of another class.

Some points to remember:

  1. A class, which restricts inheritance for security reason is declared sealed class.
  2. Sealed class is the last class in the hierarchy.
  3. Sealed class can be a derived class but can't be a base class.
  4. A sealed class cannot also be an abstract class. Because abstract class has to provide functionality and here we are restricting it to inherit.

Practical demonstration of sealed class

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
namespace sealed_class  
{  
    class Program  
    {  
        public sealed class BaseClass  
        {  
            public void Display()  
            {  
                Console.WriteLine("This is a sealed class which can;t be further inherited");  
            }  
        }  
        public class Derived : BaseClass  
        {  
            // this Derived class can;t inherit BaseClass because it is sealed  
        }  
        static void Main(string[] args)  
        {  
            BaseClass obj = new BaseClass();  
            obj.Display();  
            Console.ReadLine();  
        }  
    }  
}

C# Sealed Methods

Sealed method is used to define the overriding level of a virtual method.

Sealed keyword is always used with override keyword.

Practical demonstration of sealed method.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
namespace sealed_method  
{  
    class Program  
    {  
        public class BaseClass  
        {  
            public virtual void Display()  
            {  
                Console.WriteLine("Virtual method");  
            }  
        }  
        public class DerivedClass : BaseClass  
        {  
            // Now the display method have been sealed and can;t be overridden  
            public override sealed void Display()  
            {  
                Console.WriteLine("Sealed method");  
            }  
        }  
        //public class ThirdClass : DerivedClass  
        //{  
        //    public override void Display()  
        //    {  
        //        Console.WriteLine("Here we try again to override display method which is not possible and will give error");  
        //    }  
        //}  
        static void Main(string[] args)  
        {  
            DerivedClass ob1 = new DerivedClass();  
            ob1.Display();  
            Console.ReadLine();  
        }  
    }  
}

Hope this article will give you better view of sealed class and sealed method. Waiting! for your valuable feedback.

Up Next
    Ebook Download
    View all
    Diving Into OOP
    Read by 16.1k people
    Download Now!
    Learn
    View all