Sealed Class in C#

Sealed Class in C#: जिस तरह से Abstract Class को हमेंशा Compulsory रूप से Derive करना जरूरी होता है, उसी तरह से कई बार हम चाहते हैं कि हमारी Create की जाने वाली किसी Class को अब और आगे Inherit न किया जा सके।

यानी जब हम किसी Class को Inheritance Hierarchy की अन्तिम यानी Final Class Define करना चाहते हैं, तब हम ऐसी Class के नाम के साथ sealed Keyword का प्रयोग करके C# Compiler को इस बात का Instruction देते हैं कि Sealed Class को और आगे Inherit नही किया जा सकता। परिणामस्वरूप यदि हम किसी Sealed Class को Derive करने की कोशिश करते हैं, तो C# Compiler Error Generate करते हुए हमें ऐसा करने से रोकता है। दूसरे शब्दों में कहें तो एक Sealed Class को हम कभी भी Base Class की तरह Use नहीं कर सकते। जैसे:

	sealed class MyBaseClass
	{
		. . .
	}

यदि हम इस तरह से MyClass नाम की Class के साथ sealed Keyword को Specify कर दें, तो हम MyClass को किसी भी स्थिति में Inherit करके नई Class में इसके Features को Derive नहीं कर सकते।

लेकिन कई बार स्थिति ऐसी होती है कि हम पूरी Class को Seal करना नहीं चाहते। यानी हम पूरी Class को तो Derive होने से नहीं रोकना चाहते, लेकिन हम चाहते हैं कि Base Class में Defined किसी Virtual Method को Derived Class में Override न किया जा सके।

इस स्थिति में हम Class के साथ sealed Keyword का प्रयोग नहीं करते, बल्कि केवल उस Method के साथ ही sealed Modifier को Specify करते हैं, जिसे हम Derived Class में Override होने से रोकना चाहते हैं। जैसे:

	class MyBaseClass
	{
		sealed public virtual MyMethod() { . . . }
	}

यदि हम इस तरह से किसी Virtual Method को sealed Keyword के साथ Specify करते हैं, तो फिर इस Virtual Method को हम निम्नानुसार तरीके से किसी Derived Class में Override नहीं कर सकते:

	class MyDerivedClass : MyBaseClass
	{
		override public virtual MyMethod() { . . . }	//Error
	}
Abstract Class in C#
Extension Methods in C#

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW GET DEMO REVIEWS