ओपन एक एक्सेस स्तर है, जिसे स्विफ्ट पर कक्षा विरासत पर सीमाएं लागू करने के लिए पेश किया गया था।
इसका मतलब है कि खुला पहुंच का स्तर केवल वर्गों और वर्ग के सदस्यों के लिए लागू किया जा सकता है।
क्लासेस
एक खुला वर्ग में मॉड्यूल उस में और मॉड्यूल है कि मॉड्यूल जिसमें वर्ग परिभाषित किया गया है आयात में परिभाषित किया गया है में subclassed जा सकता है।
कक्षा सदस्यों
ही में वर्ग के सदस्यों पर लागू होता है। मॉड्यूल में उप-वर्गों द्वारा एक खुली विधि को ओवरराइड किया जा सकता है जिसे मॉड्यूल में परिभाषित किया गया है और मॉड्यूल में आयात किया गया है जिसमें विधि परिभाषित किया गया है।
इस अद्यतन
पुस्तकालयों और चौखटे से कुछ वर्गों के लिए नीड subclassed जा करने के लिए और ऐसा करने अनपेक्षित व्यवहार में हो सकता है नहीं बनाया गया है। मूल ऐप्पल लाइब्रेरी भी एक ही तरीके और कक्षाओं को ओवरराइड करने की अनुमति नहीं देगी,
तो इस अतिरिक्त के बाद वे सार्वजनिक और निजी पहुंच स्तर लागू करेंगे।
अधिक जानकारी के लिए एक open class func
अपनी परियोजना में कहीं से भी पहुंचा जा सकता है, Apple Documentation on Access Control
तो स्विफ्ट 3 में 'सार्वजनिक' स्विफ्ट 2 में 'सार्वजनिक फाइनल' की तरह है, और 'ओपन'' सार्वजनिक 'की तरह है? – Clashsoft
@ क्लाशसॉफ्ट: स्विफ्ट 3 में "खुला" स्विफ्ट 2 में "सार्वजनिक" जैसा है। स्विफ्ट 3 में "सार्वजनिक" स्विफ्ट 2 में कोई समकक्ष नहीं है। (एक अंतिम कक्षा को उसी मॉड्यूल में भी नहीं, सबक्लूस नहीं किया जा सकता है।) –
आह ठीक है, स्पष्टीकरण के लिए धन्यवाद। – Clashsoft