ट्रैक
/
Ruby
Ruby
/
सिलेबस
/
इंस्टेंस वेरिएबलो
इं

इंस्टेंस वेरिएबलो में Ruby

7 अभ्यास

इंस्टेंस वेरिएबलो के बारे में

मुख्य बातें:

  • जब किसी क्लास का .new मेथड किसी ऑब्जेक्ट इंस्टेंस को बनाने के लिए कॉल किया जाता है, तो .initialize मेथड को वे सारे आर्गुमेंट दिए जाते हैं जो उस इंस्टेंस की शुरुआती स्थिति तय करते हैं।
  • इंस्टेंस वेरिएबलों के नाम के आगे @ लगाया जाता है।
  • जब तक इंस्टेंस वेरिएबल को स्पष्ट रूप से सेट न किया जाए, तब तक उसकी वैल्यू nil रहती है।
  • इंस्टेंस वेरिएबलो डिफ़ॉल्ट रूप से प्राइवेट होते हैं, और इन्हें गेटर और सेटर के ज़रिए ही बदलना चाहिए
class Backpack
  initialize(owner)
    @owner = owner
  end

  def owner
    @owner
  end

  def owner=(new_owner)
    @owner = new_owner
  end
end
  • जिन मेथड के नाम के अंत में = आता है, Ruby उन्हें सेटर मानता है, और इससे असाइनमेंट सिंटैक्स के सिंटैक्टिक "शुगर" इस्तेमाल की सुविधा मिलती है, जैसे Backpack.new("Sven").owner = "Ayah"। ध्यान दीजिए कि owner और = के बीच एक जगह है, जबकि असल मेथड का नाम owner= है।
  • गेटर और सेटर, attr_reader, attr_writer और attr_accessor मेथड की मदद से बनाए जा सकते हैं:
    • attr_reader: दिए गए सिंबल के लिए गेटर बनाता है
    • attr_writer: दिए गए सिंबल के लिए सेटर बनाता है
    • attr_accessor: दिए गए सिंबल के लिए गेटर और सेटर दोनों बनाता है
class Backpack
  attr_accessor :owner

  initialize(owner)
    @owner = owner
  end
end
  • इंस्टेंस वेरिएबल को सीधे इस्तेमाल करने के बजाय गेटर और सेटर क्यों इस्तेमाल करें?
    • अगर पिछले उदाहरण में कोई टाइपिंग की गलती (जिसे हम "टाइपो" कहते हैं) हो जाए (जैसे @ownar), तो वह चुपचाप नाकाम हो जाती और हो सकता है कि इससे सिस्टम में कोई बग आ जाए।
    • गेटर और सेटर इसे स्पष्ट कर देते हैं, और टाइपो होने पर एरर देते हैं

संदर्भ

ऑब्जेक्ट इंस्टेंस को इनिशियलाइज़ करना

इंस्टेंस वेरिएबल

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

इंस्टेंस वेरिएबलो सीखिए

अभ्यास लॉक है

इंस्टेंस वेरिएबलो पर अभ्यास करने के लिए 5 और अभ्यास अनलॉक कीजिए