Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में इंटरफेस और विरासत

इंटरफ़ेस

एक इंटरफ़ेस को एक वाक्य-विन्यास अनुबंध के रूप में परिभाषित किया गया है, जिसका इंटरफ़ेस विरासत में प्राप्त सभी वर्गों को पालन करना चाहिए। इंटरफ़ेस वाक्यात्मक अनुबंध के 'क्या' भाग को परिभाषित करता है और व्युत्पन्न वर्ग वाक्यात्मक अनुबंध के 'कैसे' भाग को परिभाषित करता है।

आइए 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

  1. इंटरफेस और सेवाओं से आप क्या समझते हैं?

    आम तौर पर एक नेटवर्क सेवा एक एप्लिकेशन है जो एप्लिकेशन लेयर और ऊपर पर चलता है और कंप्यूटर नेटवर्किंग में उपयोग किया जाता है। नेटवर्क सेवा डेटा संग्रहण, हेरफेर, प्रस्तुति, संचार प्रदान करती है। इसे क्लाइंट-सर्वर आर्किटेक्चर या पीयर-टू-पीयर आर्किटेक्चर का उपयोग करके कार्यान्वित किया जाता है। सेवा इं

  1. पायथन में 3 और 7

    मान लीजिए कि हमारे पास एक धनात्मक संख्या n है, हमें यह पता लगाना है कि हम 3 के कुछ गैर-ऋणात्मक गुणकों और 7 के कुछ गैर-ऋणात्मक गुणकों को जोड़ कर n बना सकते हैं या नहीं। इसलिए, अगर इनपुट 13 जैसा है, तो आउटपुट ट्रू होगा, क्योंकि 13 को 1*7+2*3 =13 के रूप में लिखा जा सकता है। इसे हल करने के लिए, हम इन च

  1. पायथन में कक्षाओं और विरासत का परिचय

    ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कोड के पुन:प्रयोज्य पैटर्न को प्रोजेक्ट में कोड अतिरेक को रोकने के लिए बनाता है। पुनरावर्तनीय कोड बनाने का एक तरीका इनहेरिटेंस के माध्यम से होता है, जब एक उपवर्ग दूसरे बेस क्लास से कोड का लाभ उठाता है। वंशानुक्रम तब होता है जब एक वर्ग दूसरे वर्ग के भीतर लिखे कोड का उप