सी # - इंटरफेस
एक इंटरफेस को एक सिंटैक्टिकल कॉन्ट्रैक्ट के रूप में परिभाषित किया गया है जो इंटरफ़ेस को विरासत में देने वाले सभी वर्गों का पालन करना चाहिए। इंटरफ़ेस परिभाषित करता है'what' सिंटैक्टिकल अनुबंध और व्युत्पन्न वर्गों का हिस्सा परिभाषित करता है 'how' सिंटैक्टिकल अनुबंध का हिस्सा।
इंटरफेस गुणों, विधियों और घटनाओं को परिभाषित करते हैं, जो इंटरफ़ेस के सदस्य हैं। इंटरफेस में केवल सदस्यों की घोषणा शामिल है। यह व्युत्पन्न वर्ग की जिम्मेदारी है कि वह सदस्यों को परिभाषित करे। यह अक्सर एक मानक संरचना प्रदान करने में मदद करता है जो व्युत्पन्न वर्ग का पालन करेगा।
कुछ हद तक सार वर्ग एक ही उद्देश्य की सेवा करते हैं, हालांकि, उनका उपयोग ज्यादातर तब किया जाता है जब बेस क्लास द्वारा केवल कुछ विधियों को घोषित किया जाता है और व्युत्पन्न वर्ग कार्यात्मकता को लागू करता है।
घोषणाओं में कमी
इंटरफ़ेस कीवर्ड का उपयोग करके इंटरफेस घोषित किए जाते हैं। यह वर्ग घोषणा के समान है। डिफ़ॉल्ट रूप से इंटरफ़ेस स्टेटमेंट सार्वजनिक होते हैं। निम्नलिखित एक इंटरफ़ेस घोषणा का एक उदाहरण है -
public interface ITransactions {
// interface members
void showTransaction();
double getAmount();
}
उदाहरण
निम्नलिखित उदाहरण उपरोक्त इंटरफ़ेस के कार्यान्वयन को दर्शाता है -
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
namespace InterfaceApplication {
public interface ITransactions {
// interface members
void showTransaction();
double getAmount();
}
public class Transaction : ITransactions {
private string tCode;
private string date;
private double amount;
public Transaction() {
tCode = " ";
date = " ";
amount = 0.0;
}
public Transaction(string c, string d, double a) {
tCode = c;
date = d;
amount = a;
}
public double getAmount() {
return amount;
}
public void showTransaction() {
Console.WriteLine("Transaction: {0}", tCode);
Console.WriteLine("Date: {0}", date);
Console.WriteLine("Amount: {0}", getAmount());
}
}
class Tester {
static void Main(string[] args) {
Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);
t1.showTransaction();
t2.showTransaction();
Console.ReadKey();
}
}
}
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900