जब आप किसी विधि पर सी # में सीलबंद संशोधक का उपयोग करते हैं, तो विधि ओवरराइड करने की अपनी क्षमता खो देती है। सीलबंद विधि एक व्युत्पन्न वर्ग का हिस्सा होनी चाहिए और विधि एक ओवरराइड विधि होनी चाहिए।
आइए एक उदाहरण देखें -
निम्न उदाहरण आपको विधि प्रदर्शन() को ओवरराइड करने की अनुमति नहीं देगा क्योंकि इसमें ClassTwo व्युत्पन्न वर्ग के लिए एक सीलबंद संशोधक है -
ClassOne हमारा आधार वर्ग है, जबकि ClassTwo और ClassThree व्युत्पन्न वर्ग हैं -
उदाहरण
class ClassOne { public virtual void display() { Console.WriteLine("baseclass"); } } class ClassTwo : ClassOne { public sealed override void display() { Console.WriteLine("ClassTwoderivedClass"); } } class ClassThree : ClassTwo { public override void display() { Console.WriteLine("ClassThree: Another Derived Class"); } }
ऊपर, ClassThree व्युत्पन्न वर्ग के तहत हमने सीलबंद विधि को ओवरराइड करने का प्रयास किया है। यह एक त्रुटि दिखाएगा क्योंकि सीलबंद विधि का उपयोग करते समय इसकी अनुमति नहीं है।