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

C# में एनकैप्सुलेशन (Encapsulation): एक्सेस मॉडिफायर्स के साथ


एनकैप्सुलेशन (Encapsulation) डेटा (फील्ड्स) और व्यवहार (मेथड्स) को एक इकाई (क्लास) में बांधना और आंतरिक विवरण छुपाना है। C# में एक्सेस मॉडिफायर्स द्वारा लागू किया जाता है।

C# एक्सेस मॉडिफायर्स

मॉडिफायरविवरण
publicकहीं से भी एक्सेसिबल
privateकेवल उसी क्लास के अंदर (डिफ़ॉल्ट)
protectedउसी क्लास + डेराइव्ड क्लासेस
internalउसी असेंबली के अंदर
protected internalउसी असेंबली OR डेराइव्ड क्लासेस
private protectedउसी असेंबली में डेराइव्ड क्लासेस

उदाहरण: private फील्ड्स + public मेथड्स

using System;

namespace RectangleApplication
{
    class Rectangle
    {
        private double length;
        private double width;
        
        public void AcceptDetails()
        {
            length = 10;
            width = 15;
        }
        
        public double GetArea()
        {
            return length * width;
        }
        
        public void Display()
        {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea());
        }
    }
    
    class ExecuteRectangle
    {
        static void Main(string[] args)
        {
            Rectangle r = new Rectangle();
            r.AcceptDetails();  // डेटा सेट करने का नियंत्रित तरीका
            r.Display();        // डेटा पढ़ने का नियंत्रित तरीका
            Console.ReadLine();
        }
    }
}

आउटपुट

Length: 10
Width: 15
Area: 150

सर्वोत्तम प्रथाएं

  • फील्ड्स को private रखें।
  • एक्सेस के लिए public प्रॉपर्टीज़ उपयोग करें (get/set में वैलिडेशन)।
  • ऑटो-इम्प्लीमेंटेड प्रॉपर्टी: public double Length { get; set; }
  • रीड-ओनली: public double Area => length * width; (एक्सप्रेशन-बॉडीड)।

लाभ

  • डेटा अखंडता (वैलिडेशन)।
  • आंतरिक कार्यान्वयन बदलने की स्वतंत्रता।
  • रखरखाव और टेस्टेबिलिटी आसान।
  1. CSS शेप्स बनाएं: आयत, वृत्त, त्रिकोण, दिल और अधिक CSS शेप्स बनाएं: आयत, वृत्त, त्रिकोण, दिल और अधिक

    आइए आगे बढ़ें और कुछ मजेदार CSS शेप्स बनाएं! आयत और वर्ग (Rectangles and Squares) डिफ़ॉल्ट रूप से डिव एक वर्ग या आयत होता है जो चौड़ाई और ऊंचाई प्रॉपर्टीज पर निर्भर करता है। वर्ग की समान चौड़ाई और ऊंचाई होती है जबकि आयत की नहीं: .rectangle { width: 2rem; height: 4rem; background-color: violet; } .s

  1. JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें JavaScript Array.length प्रॉपर्टी: एरे की लंबाई प्राप्त/सेट करें

    Array.length प्रॉपर्टी एरे में तत्वों की संख्या लौटाती है या सेट करती है। यह 0-आधारित इंडेक्सिंग के कारण अंतिम इंडेक्स + 1 होती है। यह लिखने योग्य है - लंबाई बदलने से एरे ट्रंकेट या विस्तारित होता है। उदाहरण { fillEle.innerHTML = एरे की लंबाई है: + arr.length; }); </script> &

  1. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i