इंटरफ़ेस
एक इंटरफ़ेस को एक वाक्य-विन्यास अनुबंध के रूप में परिभाषित किया गया है, जिसका इंटरफ़ेस विरासत में प्राप्त सभी वर्गों को पालन करना चाहिए। इंटरफ़ेस वाक्यात्मक अनुबंध के 'क्या' भाग को परिभाषित करता है और व्युत्पन्न वर्ग वाक्यात्मक अनुबंध के 'कैसे' भाग को परिभाषित करता है।
आइए C# में इंटरफेस का एक उदाहरण देखें।
उदाहरण
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
विरासत
वंशानुक्रम हमें किसी अन्य वर्ग के संदर्भ में एक वर्ग को परिभाषित करने की अनुमति देता है, जिससे एप्लिकेशन बनाना और बनाए रखना आसान हो जाता है। यह कोड कार्यक्षमता का पुन:उपयोग करने और कार्यान्वयन समय को गति देने का अवसर भी प्रदान करता है।
विरासत का विचार IS-A संबंध को लागू करता है। उदाहरण के लिए, स्तनपायी IS एक जानवर है, कुत्ता IS-A स्तनपायी है इसलिए कुत्ता IS-A जानवर भी है, इत्यादि।
सी#में इनहेरिटेंस के साथ काम करने का तरीका दिखाने वाला एक उदाहरण निम्नलिखित है।
उदाहरण
using System; namespace InheritanceApplication { class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } // Derived class class Rectangle: Shape { public int getArea() { return (width * height); } } class RectangleTester { static void Main(string[] args) { Rectangle Rect = new Rectangle(); Rect.setWidth(5); Rect.setHeight(7); // Print the area of the object. Console.WriteLine("Total area: {0}", Rect.getArea()); Console.ReadKey(); } } }
आउटपुट
Total area: 35