मैं कुछ इसक्या मैं वंचित वर्चुअल विधि को सबक्लास में ओवरराइड होने से रोक सकता हूं?
class A
{
public virtual void Render()
{
}
}
class B : A
{
public override void Render()
{
// Prepare the object for rendering
SpecialRender();
// Do some cleanup
}
protected virtual void SpecialRender()
{
}
}
class C : B
{
protected override void SpecialRender()
{
// Do some cool stuff
}
}
तरह से बाहर रखी यह निम्न कोड को तोड़ने के बिना, प्रस्तुत विधि अधिभावी से सी क्लास को रोकने के लिए संभव है श्रेणियां होती हैं?
A obj = new C();
obj.Render(); // calls B.Render -> c.SpecialRender
कोई स्पष्टीकरण क्यों है बेहतर? मुहरबंद एक साफ अर्थ है। यह कहता है "कुछ सोचने के बाद मैं इस निष्कर्ष पर आया कि इसे कभी भी ओवरराइड नहीं किया जाना चाहिए"। – Ivan