Kotlin में `by` कीवर्ड क्या करता है? उदाहरणों के साथ समझाएं
सभी को नमस्ते! मैंने हाल ही में Kotlin सीखना शुरू किया है, Java से आया हूँ, और मुझे एक समझ से परे सिंटैक्स का सामना करना पड़ा। मैं अपने सहकर्मियों के कोड में `by` कीवर्ड देखता हूँ, लेकिन इसका उद्देश्य समझ नहीं पाता।
उदाहरण के लिए, मैंने ऐसा कोड देखा:
```kotlin
class MyClass {
var name: String by Delegates.observable("Initial") { prop, old, new ->
println("$old -> $new")
}
}
```
या यह:
```kotlin
class Derived(base: Base) : Base by base
```
मैं समझता हूँ कि यह delegation से संबंधित है, लेकिन मुझे स्पष्ट नहीं है कि यह अंदरूनी रूप से कैसे काम करता है। Java में हमारे पास केवल inheritance और interfaces थे, और यहाँ कुछ जादू है।
कृपया समझाएं कि `by` किस लिए उपयोग किया जाता है? इसे किन मामलों में लागू करना चाहिए? और यह bytecode स्तर पर कैसे काम करता है? मैं सरल उदाहरणों के लिए आभारी रहूंगा ताकि एक नौसिखिया समझ सके।