Wednesday 19 August 2015

What is sealed Method in .Net

       A method which can't be overridden by it's child classes is known as a sealed Method. By default every method is sealed. Unless it was declared as Virtual.


Example 1 :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication1
{
    class sealedmethod
    {
        public virtual void show()
        {
            Console.WriteLine("virtual method");
        }


    }


    class sealedmethod1 : sealedmethod
    {
        public  override void show()
        {


            Console.WriteLine("override method");
        }


    }
    class sealedmethod2 : sealedmethod1
    {
        public   override void show()
        {
            Console.WriteLine("override1 method");
        }
        static void Main()
        {
            sealedmethod2 s = new sealedmethod2();
            s.show();
           // s.show1();
            Console.ReadLine();
        }
    }
}

Output : 
       
            Override1 method   


Another Example :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class sealedmethod
    {
        public virtual void show()
        {
            Console.WriteLine("virtual method");
        }

    }

    class sealedmethod1 : sealedmethod
    {
        public sealed   override void show()
        {

            Console.WriteLine("override method");
        }

    }
    class sealedmethod2 : sealedmethod1
    {
        public   override void show()
        {
            Console.WriteLine("override1 method");
        }
        static void Main()
        {
            sealedmethod2 s = new sealedmethod2();
            s.show();
           // s.show1();
            Console.ReadLine();
        }
    }
}

Output : 

we are getting some error i.e :
       'ConsoleApplication1.sealedmethod2.show(): cannot override inherited member
       'ConsoleApplication1.Sealedmethod1.show()'because it is sealed.


            

No comments:

Post a Comment