"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में सीलबंद कक्षाओं में महारत हासिल करना

जावा में सीलबंद कक्षाओं में महारत हासिल करना

2024-08-07 को प्रकाशित
ब्राउज़ करें:800

Mastering Sealed Classes in Java

जावा 15 में एक पूर्वावलोकन सुविधा के रूप में पेश की गई और जावा 17 में स्थायी बनाई गई सीलबंद कक्षाएं, डेवलपर्स को यह नियंत्रित करने की अनुमति देती हैं कि कौन सी कक्षाएं उन्हें विस्तारित या कार्यान्वित कर सकती हैं। यह सुविधा प्रोजेक्ट एम्बर का हिस्सा है, जिसका उद्देश्य छोटी लेकिन शक्तिशाली सुविधाओं के साथ जावा भाषा को बढ़ाकर डेवलपर उत्पादकता में सुधार करना है।

सीलबंद वर्ग क्या हैं?

सीलबंद कक्षाएं एक नई तरह की कक्षा हैं जो प्रतिबंधित करती हैं कि कौन से अन्य वर्ग या इंटरफेस उन्हें विस्तारित या कार्यान्वित कर सकते हैं। यह अधिक मजबूत और रखरखाव योग्य प्रकार का पदानुक्रम प्रदान करने के लिए किया जाता है। जब आप एक सीलबंद वर्ग को परिभाषित करते हैं, तो आप अनुमत उपवर्गों का एक सेट निर्दिष्ट करते हैं।

सीलबंद कक्षाओं के लाभ

  1. नियंत्रित वंशानुक्रम: यह निर्दिष्ट करके कि कौन से वर्ग एक सीलबंद वर्ग का विस्तार कर सकते हैं, आप अपने वर्ग पदानुक्रम पर बेहतर नियंत्रण प्राप्त करते हैं और यह सुनिश्चित करते हैं कि यह अच्छी तरह से परिभाषित और बनाए रखने में आसान है।
  2. विस्तृत पैटर्न मिलान: सीलबंद कक्षाएं पैटर्न मिलान सुविधाओं के साथ अच्छी तरह से काम करती हैं, जिससे कंपाइलर को यह जांचने की अनुमति मिलती है कि सभी संभावित मामले कवर किए गए हैं।
  3. उन्नत पठनीयता और रखरखाव: स्पष्ट रूप से परिभाषित विरासत संरचनाएं कोड पठनीयता और रखरखाव में सुधार करती हैं।

सीलबंद वर्ग को परिभाषित करना

एक सीलबंद वर्ग को परिभाषित करने के लिए, आप सीलबंद कीवर्ड का उपयोग करते हैं और परमिट खंड के साथ अनुमत उपवर्गों को निर्दिष्ट करते हैं। यहाँ एक उदाहरण है:

public sealed class Shape permits Circle, Rectangle, Square {
    // class body
}

public final class Circle extends Shape {
    // class body
}

public final class Rectangle extends Shape {
    // class body
}

public final class Square extends Shape {
    // class body
}

इस उदाहरण में, आकार एक सीलबंद वर्ग है, और केवल वृत्त, आयत और वर्ग को इसका विस्तार करने की अनुमति है। प्रत्येक उपवर्ग अंतिम, सीलबंद या गैर-मुहरबंद होना चाहिए।

सीलबंद कक्षाओं का उपयोग करना

सीलबंद कक्षाओं का उपयोग पदानुक्रमित संरचनाओं को मॉडल करने के लिए किया जा सकता है जहां उपवर्गों का सेट ज्ञात और तय होता है। यह डोमेन मॉडलिंग और बीजगणितीय डेटा प्रकारों के साथ काम करते समय विशेष रूप से उपयोगी है।

यहां पैटर्न मिलान के साथ सीलबंद कक्षाओं का उपयोग करने का एक उदाहरण दिया गया है:

public class SealedClassExample {
    public static void main(String[] args) {
        Shape shape = new Circle(5);

        String result = switch (shape) {
            case Circle c -> "Circle with radius "   c.radius();
            case Rectangle r -> "Rectangle with width "   r.width()   " and height "   r.height();
            case Square s -> "Square with side "   s.side();
        };

        System.out.println(result);
    }
}

इस उदाहरण में, हम विभिन्न प्रकार के आकार को संभालने के लिए एक स्विच अभिव्यक्ति का उपयोग करते हैं। कंपाइलर यह सुनिश्चित कर सकता है कि सभी संभावित मामलों को कवर किया गया है क्योंकि शेप सील कर दिया गया है।

निष्कर्ष

सीलबंद कक्षाएं जावा के लिए एक शक्तिशाली अतिरिक्त हैं, जो वर्ग पदानुक्रम पर बेहतर नियंत्रण प्रदान करती हैं और कोड पठनीयता और रखरखाव को बढ़ाती हैं। सीलबंद कक्षाओं का उपयोग करके, आप अपने जावा अनुप्रयोगों में अधिक मजबूत और अच्छी तरह से परिभाषित प्रकार के सिस्टम बना सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adaumircosta/mastering-sealed-classes-in-java-3md?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3