ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एब्स्ट्रैक्शन और एनकैप्सुलेशन संबंधित विशेषताएं हैं। एब्स्ट्रैक्शन प्रासंगिक जानकारी को दृश्यमान बनाने की अनुमति देता है और एनकैप्सुलेशन एक प्रोग्रामर को एब्सट्रैक्शन के वांछित स्तर को लागू करने में सक्षम बनाता है।
सी # में अमूर्त वर्गों का उपयोग करके अमूर्तता प्राप्त की जा सकती है। सी # आपको अमूर्त वर्ग बनाने की अनुमति देता है जिसका उपयोग इंटरफ़ेस के आंशिक वर्ग कार्यान्वयन प्रदान करने के लिए किया जाता है। कार्यान्वयन तब पूरा होता है जब एक व्युत्पन्न वर्ग इससे प्राप्त होता है। सार वर्ग में अमूर्त विधियाँ होती हैं, जो व्युत्पन्न वर्ग द्वारा कार्यान्वित की जाती हैं। व्युत्पन्न कक्षाओं में अधिक विशिष्ट कार्यक्षमता होती है।
कुछ प्रमुख बिंदु निम्नलिखित हैं -
-
आप एक अमूर्त वर्ग का उदाहरण नहीं बना सकते हैं
-
आप एक अमूर्त वर्ग के बाहर एक अमूर्त विधि घोषित नहीं कर सकते हैं
-
जब किसी वर्ग को सीलबंद घोषित किया जाता है, तो उसे विरासत में प्राप्त नहीं किया जा सकता है, अमूर्त वर्गों को सीलबंद घोषित नहीं किया जा सकता है।
उदाहरण
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; } public override int area () { Console.WriteLine("Rectangle class area :"); return (width * length); } } class RectangleTester { static void Main(string[] args) { Rectangle r = new Rectangle(20, 15); double a = r.area(); Console.WriteLine("Area: {0}",a); Console.ReadKey(); } } }
आउटपुट
Rectangle class area : Area: 300