In this article we will learn about one of the most reusable object-oriented features of C#, sealed classes. We will learn about sealed classes from the basics because I have written this article focusing on students and beginners. Before proceeding further, please refer to my previous articles for better understanding.
- Programming Methodologies
- Types of Classes in C#
- Polymorphism in C#
- Types of Inheritance in C#
- Method Overloading and Method overriding C#
What is a Sealed Class?It is a type of class that cannot be inherited.
The following are some key points:
- A Sealed class is created by using the sealed keyword
- The Access modifiers are not applied upon the sealed class
- To access the members of the sealed we need to create the object of that class
- To restrict the class from being inherited, the sealed keyword is used
In the preceding example, the class is declared using the sealed keyword so that this class and the class member cannot be inherited, in other words, we cannot derive from the sealed class. These types of classes are very important when we want to restrict it to inherit the class that provides the highest level of security to the code. Let us see the example of the sealed class. To demonstrate the sealed class, let us create a simple console application as follows:
- Open Visual Studio from Start - - All programs -- Microsoft Visual Studio
- Then, go to "File" -> "New" -> "Project..." then select the Visual C# -> Windows -> Console application
- After that, specify the name such as the SealedClass or whatever name you wish and the location of the project and click on the OK button. The new project is created.
In the preceding program, CustoMerDetails is the sealed class containing a method named AccountIno() that cannot be inherited, so to access the member of the specific sealed class, we need to create the object of that class that we have created into the Main method of the program class.
Now run the application, the output will be:
Now, you may think, then what is the difference between sealed and private because both classes cannot be inherited. Let us see the difference between these classes.
Private Vs Sealed class
|Private classes cannot be declared directly inside the namespace.||Sealed classes can be declared directly inside the namespace.|
|We cannot create an instance of a private class.||We can create the instance of sealed class.|
|Private Class members are only accessible within a declared class.||Sealed class members are accessible outside the class through object.|