Swift क्लासेज़ में Static बनाम Class फ़ंक्शन और वेरिएबल: क्या अंतर है?
सभी को नमस्ते! मैंने Swift सीखना शुरू किया और एक ऐसे विषय पर आ गया जो मुझे समझ नहीं आया। क्लासेज़ में फ़ंक्शन और वेरिएबल को static और class दोनों तरह से घोषित किया जा सकता है। दोनों कीवर्ड समान काम करते प्रतीत होते हैं: वे क्लास का इंस्टेंस बनाए बिना मेथड्स को कॉल करने और प्रॉपर्टीज़ प्राप्त करने की अनुमति देते हैं। उदाहरण के लिए:
```swift
class MyClass {
static var staticProperty = "स्टैटिक प्रॉपर्टी"
class var classProperty: String {
return "क्लास प्रॉपर्टी"
}
static func staticMethod() {
print("स्टैटिक मेथड")
}
class func classMethod() {
print("क्लास मेथड")
}
}
MyClass.staticMethod() // काम करता है
MyClass.classMethod() // यह भी काम करता है
```
लेकिन मैंने देखा कि अगर मैं सबक्लास में `static` मेथड को ओवरराइड करने की कोशिश करता हूँ, तो Xcode एरर देता है, जबकि `class` मेथड बिना किसी समस्या के ओवरराइड हो जाता है। ऐसा क्यों? और आमतौर पर किसका उपयोग करना बेहतर है? क्या ऐसे मामले हैं जहाँ `static` बेहतर है और जहाँ `class`? कृपया सरल शब्दों में समझाएँ। पहले से धन्यवाद।