सार वर्ग में अमूर्त विधियाँ होती हैं, जो व्युत्पन्न वर्ग द्वारा कार्यान्वित की जाती हैं। व्युत्पन्न कक्षाओं में अधिक विशिष्ट कार्यक्षमता होती है।
निम्नलिखित एक उदाहरण है जो C# में अमूर्त वर्गों के उपयोग को दर्शाता है।
उदाहरण
using System; namespace Demo { abstract class Shape { public abstract int area(); } class Rectangle: Shape { private int length; private int width; public Rectangle( int a = 0, int b = 0) { length = a; width = b; Console.WriteLine("Length of Rectangle: "+length); Console.WriteLine("Width of Rectangle: "+width); } public override int area () { return (width * length); } } class RectangleTester { static void Main(string[] args) { Rectangle r = new Rectangle(14, 8); double a = r.area(); Console.WriteLine("Area: {0}",a); Console.ReadKey(); } } }
आउटपुट
Length of Rectangle: 14 Width of Rectangle: 8 Area: 112
ऊपर हमारा सार वर्ग है -
abstract class Shape { public abstract int area(); }
अमूर्त वर्गों के बारे में निम्नलिखित नियम हैं।
- आप एक अमूर्त वर्ग का उदाहरण नहीं बना सकते हैं
- आप एक अमूर्त वर्ग के बाहर एक अमूर्त विधि घोषित नहीं कर सकते हैं
- जब किसी वर्ग को सीलबंद घोषित किया जाता है, तो उसे विरासत में प्राप्त नहीं किया जा सकता है, अमूर्त वर्गों को सीलबंद घोषित नहीं किया जा सकता है।