I am a newbie in C#.I am reading about Sealed keyword.I have got about sealed class.I have read a line about Sealed method where we can make Sealed method also.The line was (By declaring method as sealed, we can avoid further overriding of this method.) I have created a demo but didn't understand that the meaning of above line and sealed method use. Below is my code:-
using System; namespace ConsoleApplication2 { class Program:MyClass { public override sealed void Test() { Console.WriteLine("My class Program"); } static void Main(string[] args) { Program obj = new Program(); obj.Test(); Console.ReadLine(); } } class MyClass { public virtual void Test() { Console.WriteLine("My class Test"); } } }
Please tell me why we use Sealed methods and what are the advantages of Sealed methods.
Sealed method is used to define the overriding level of a virtual method. Sealed keyword is always used with override keyword.
A class can be sealed by using the sealed keyword. The keyword tells the compiler that the class is sealed, and therefore, cannot be extended.
A sealed class, in C#, is a class that cannot be inherited by any class but can be instantiated. The design intent of a sealed class is to indicate that the class is specialized and there is no need to extend it to provide any additional functionality through inheritance to override its behavior.
We use sealed classes to prevent inheritance. As we cannot inherit from a sealed class, the methods in the sealed class cannot be manipulated from other classes. It helps to prevent security issues.
Well, you are testing with only two levels of inheritance, and you are not getting to the point that you're "further overriding" a method. If you make it three, you can see what sealed
does:
class Base { public virtual void Test() { ... } } class Subclass1 : Base { public sealed override void Test() { ... } } class Subclass2 : Subclass1 { public override void Test() { ... } // Does not compile! // If `Subclass1.Test` was not sealed, it would've compiled correctly. }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With