पहुँच संशोधक को हटाना
जावा में मूल रूप से private protectedसंशोधक था, लेकिन इसे JDK 1.0.2 (पहला स्थिर संस्करण, जावा 1.0 जिसे हम आज जानते हैं) में हटा दिया गया था । JDK 1.0.2 ( यहां और यहां ) के बारे में कुछ ट्यूटोरियल निम्नलिखित कहते हैं:
नोट: जावा भाषा के 1.0 रिलीज़ ने पाँच पहुँच स्तरों का समर्थन किया: चार ऊपर से सूचीबद्ध private protected। private protectedपहुंच का स्तर 1.0 की तुलना में जावा अधिक की संस्करणों में समर्थित नहीं है; अब आपको अपने जावा प्रोग्राम में इसका उपयोग नहीं करना चाहिए।
SoftwareEngineering.SE राज्यों पर एक और जवाब :
जावा में मूल रूप से ऐसा एक संशोधक था। यह लिखा गया था private protectedलेकिन जावा 1.0 में हटा दिया गया था ।
अब जावा संस्करण इतिहास पर एक नज़र डालें :
JDK 1.0
पहला संस्करण 23 जनवरी, 1996 को जारी किया गया था और इसे ओक कहा जाता था। पहला स्थिर संस्करण, JDK 1.0.2, जावा 1 कहलाता है।
इस से, हम 1.0.2 संस्करण के संबंध में ट्यूटोरियल का निष्कर्ष निकाल सकते हैं, पहले संस्करण, JDK 1.0, जहां भाषा को ओक कहा जाता था, का उल्लेख है, लेकिन SoftwareEngineering.SE से एक पहला स्थिर संस्करण JDK 1.0.2 जावा को संदर्भित करता है 1.0, जहां इसे हटा दिया गया था।
अब यदि आप जावा 1.0 प्रलेखन में इसे खोजने का प्रयास करते हैं , तो आप इसे नहीं पाएंगे, क्योंकि जैसा कि पहले उल्लेख किया गया है, इसे JDK 1.0.2 में हटा दिया गया था, अन्यथा जावा 1.0 के रूप में जाना जाता है। जब आप पोस्ट किए गए लिंक के लिए "अंतिम संशोधित" समय को देखते हैं तो यह फिर से साबित होता है। आपके द्वारा पोस्ट किया गया लिंक अंतिम बार 1996 के फरवरी में संशोधित किया गया था। जावा 1.0 / JDK 1.0.2, जब private protectedहटाया गया था, 1996 के फरवरी के बाद जारी किया गया था , और विनिर्देश के अनुसार, 1996 का अगस्त।
निकाले जाने का कारण
कुछ स्रोत भी इसका कारण बताते हैं private protected, जैसे कि यह । उद्धरण के लिए:
निजी सुरक्षा क्या थी?
शुरुआत में, जावा भाषा में संशोधक के कुछ संयोजनों के लिए अनुमति दी गई थी, जिनमें से एक था private protected। private protectedउप-वर्ग (और पैकेज एक्सेस को हटाने) के लिए दृश्यता को कड़ाई से सीमित करने का अर्थ था। बाद में इसे कुछ असंगत और अति जटिल माना गया और अब इसका समर्थन नहीं किया गया है। [५]
[५] protectedजावा के बीटा २ रिलीज़ में संशोधक का अर्थ बदल गया, और private protectedसंयोजन उसी समय दिखाई दिया। उन्होंने कुछ संभावित सुरक्षा छेदों को पैच किया, लेकिन कई लोगों को भ्रमित किया।
और SoftwareEngineering.SE भी यह कहकर इसका समर्थन करता है कि यह विसंगतियों और अतिरिक्त जटिलता के लायक नहीं था, इसलिए इसे हटा दिया गया था।
व्याख्या
इस सब के बारे में मेरी व्याख्या यह है कि शायद, ओक के दिनों में, दोनों को सह-अस्तित्व (इसलिए संयोजन) की अनुमति दी गई थी। के बाद से protectedकी अर्थ बदल गया था 1 , वहाँ अनुमति देने के लिए एक की जरूरत हो सकता है privateऔर protectedएक ही समय में। परिचय बहुत जटिल हो गया और इसके लायक नहीं था, और इस तरह अंत में गिरा दिया गया था। जब तक जावा 1.0 / JDK 1.0.2 चारों ओर लुढ़का, तब तक इसे गिरा दिया गया था और इस प्रकार इसे प्रलेखन में नहीं पाया जा सकता है।
1 में ओक भाषा विशिष्टता , धारा 4.10, चर और तरीके के लिए प्रवेश , यह पाया गया है कि डिफ़ॉल्ट संशोधक था protected:
डिफ़ॉल्ट रूप से एक वर्ग में सभी चर और तरीके संरक्षित हैं ।
यह आज हमारे पास मौजूद डिफ़ॉल्ट पैकेज की पहुंच से काफी अलग है। यह आवश्यकता के लिए मार्ग प्रशस्त हो सकता है private protected, क्योंकि privateबहुत अधिक प्रतिबंधात्मक protectedथा और बहुत सुस्त था।