जावा 15 में एक पूर्वावलोकन सुविधा के रूप में पेश की गई और जावा 17 में स्थायी बनाई गई सीलबंद कक्षाएं, डेवलपर्स को यह नियंत्रित करने की अनुमति देती हैं कि कौन सी कक्षाएं उन्हें विस्तारित या कार्यान्वित कर सकती हैं। यह सुविधा प्रोजेक्ट एम्बर का हिस्सा है, जिसका उद्देश्य छोटी लेकिन शक्तिशाली सुविधाओं के साथ जावा भाषा को बढ़ाकर डेवलपर उत्पादकता में सुधार करना है।
सीलबंद कक्षाएं एक नई तरह की कक्षा हैं जो प्रतिबंधित करती हैं कि कौन से अन्य वर्ग या इंटरफेस उन्हें विस्तारित या कार्यान्वित कर सकते हैं। यह अधिक मजबूत और रखरखाव योग्य प्रकार का पदानुक्रम प्रदान करने के लिए किया जाता है। जब आप एक सीलबंद वर्ग को परिभाषित करते हैं, तो आप अनुमत उपवर्गों का एक सेट निर्दिष्ट करते हैं।
एक सीलबंद वर्ग को परिभाषित करने के लिए, आप सीलबंद कीवर्ड का उपयोग करते हैं और परमिट खंड के साथ अनुमत उपवर्गों को निर्दिष्ट करते हैं। यहाँ एक उदाहरण है:
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); } }
इस उदाहरण में, हम विभिन्न प्रकार के आकार को संभालने के लिए एक स्विच अभिव्यक्ति का उपयोग करते हैं। कंपाइलर यह सुनिश्चित कर सकता है कि सभी संभावित मामलों को कवर किया गया है क्योंकि शेप सील कर दिया गया है।
सीलबंद कक्षाएं जावा के लिए एक शक्तिशाली अतिरिक्त हैं, जो वर्ग पदानुक्रम पर बेहतर नियंत्रण प्रदान करती हैं और कोड पठनीयता और रखरखाव को बढ़ाती हैं। सीलबंद कक्षाओं का उपयोग करके, आप अपने जावा अनुप्रयोगों में अधिक मजबूत और अच्छी तरह से परिभाषित प्रकार के सिस्टम बना सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3