इंटरफेस गुणों, विधियों और घटनाओं को परिभाषित करते हैं, जो इंटरफेस के सदस्य हैं। इंटरफेस में केवल सदस्यों की घोषणा होती है। सदस्यों को परिभाषित करना व्युत्पन्न वर्ग की जिम्मेदारी है।
सार वर्ग कुछ हद तक एक ही उद्देश्य की पूर्ति करते हैं, हालांकि, उनका उपयोग ज्यादातर तब किया जाता है जब बेस क्लास द्वारा केवल कुछ विधियों को घोषित किया जाता है और व्युत्पन्न वर्ग कार्यात्मकताओं को लागू करता है।
आइए अब C# में Abstract Class और Interface के बीच अंतर देखें।
इनहेरिट करें
एक वर्ग एक से अधिक इंटरफ़ेस को इनहेरिट कर सकता है, जबकि एक वर्ग केवल एक अमूर्त वर्ग को इनहेरिट कर सकता है।
सदस्य फ़ील्ड
आप एक इंटरफ़ेस में फ़ील्ड्स को परिभाषित नहीं कर सकते, जबकि इसे एक अमूर्त वर्ग के मामले में परिभाषित किया गया है।
पहुंच संशोधक
एक इंटरफ़ेस में सार्वजनिक, निजी, संरक्षित, आंतरिक आदि एक्सेस संशोधक नहीं होते हैं क्योंकि डिफ़ॉल्ट रूप से एक इंटरफ़ेस में सब कुछ सार्वजनिक होता है।
एकाधिक वंशानुक्रम
सार का उपयोग करके एकाधिक वंशानुक्रम प्राप्त नहीं किया जा सकता है जबकि इंटरफ़ेस के साथ हम इसे प्राप्त कर सकते हैं।