स्विफ्ट में इनिशियलाइज़र के प्रकार
स्विफ्ट में, इनिशियलाइज़र विशेष विधियाँ हैं जिन्हें तब कहा जाता है जब एक वर्ग, संरचना या एनम का एक उदाहरण बनाया जाता है। वे उदाहरण की प्रारंभिक स्थिति को सेट करने के लिए उपयोग किए जाते हैं, और प्रारंभिक प्रक्रिया को अनुकूलित करने के लिए पैरामीटर ले सकते हैं।
स्विफ्ट में दो प्रकार के इनिशियलाइज़र हैं: नामित इनिशियलाइज़र और सुविधा इनिशियलाइज़र। आइए उनमें से प्रत्येक पर करीब से नज़र डालें और देखें कि वे कैसे भिन्न हैं।
नामित प्रारंभकर्ता
नामित इनिशियलाइज़र एक वर्ग, संरचना या एनम के एक नए उदाहरण को आरंभ करने का प्राथमिक तरीका है। वे उदाहरण के सभी गुणों को प्रारंभ करने के लिए ज़िम्मेदार हैं, और ऐसा करने से पहले सुपरक्लास के नामित प्रारंभकर्ता को कॉल करना चाहिए।
यहाँ एक साधारण Person
वर्ग के लिए निर्दिष्ट इनिशियलाइज़र का एक उदाहरण दिया गया है:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name self.age = age
}
}
सुविधा प्रारंभकर्ता
सुविधा इनिशियलाइज़र सेकेंडरी इनिशियलाइज़र होते हैं जो एक क्लास, स्ट्रक्चर या एनम के इंस्टेंस को इनिशियलाइज़ करने के लिए एक शॉर्टकट प्रदान करते हैं। कुछ और करने से पहले उन्हें उसी वर्ग के नामित प्रारंभकर्ता को कॉल करना होगा। संक्षेप में हम इसे प्रारंभ करने के लिए अपनी सुविधा के लिए उपयोग कर रहे हैं।
यहाँ कक्षा के लिए सुविधा प्रारंभकर्ता का एक उदाहरण दिया गया है Person
:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
निष्कर्ष
संक्षेप में, नामित इनिशियलाइज़र एक वर्ग, संरचना या एनम के एक नए उदाहरण को आरंभ करने का प्राथमिक तरीका है, और उदाहरण के सभी गुणों को आरंभ करने के लिए जिम्मेदार हैं। कन्वीनियंस इनिशियलाइज़र्स विशिष्ट मापदंडों के सेट के साथ एक इंस्टेंस को इनिशियलाइज़ करने के लिए एक शॉर्टकट प्रदान करते हैं, और कुछ भी करने से पहले उसी वर्ग के निर्दिष्ट इनिशियलाइज़र को कॉल करना चाहिए।
निर्दिष्ट और सुविधाजनक इनिशियलाइज़र के बीच के अंतर को समझकर, आप अधिक कुशल और प्रभावी कोड लिख सकते हैं, और अपनी कक्षाओं, स्ट्रक्चर्स और एनमों के उदाहरण अधिक आसानी से बना सकते हैं।
अगर आपको यह पोस्ट पसंद आया हो तो कृपया क्लैप करें और फॉलो करें ।