ট্র্যাক
/
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 (আমরা এগুলোকে "টাইপো" বলি), তাহলে প্রোগ্রামটি চুপচাপ ব্যর্থ হবে, আর সিস্টেমে একটি bug ঢুকে পড়তে পারে।
    • গেটার ও সেটার এটা স্পষ্ট করে দেয়, আর কোনো টাইপো হলে একটি এরর তৈরি হবে।

তথ্যসূত্র

অবজেক্ট ইনস্ট্যান্স ইনিশিয়ালাইজ করা

ইনস্ট্যান্স ভ্যারিয়েবল

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

ইনস্ট্যান্স ভ্যারিয়েবল শিখুন

অনুশীলন লক করা আছে

ইনস্ট্যান্স ভ্যারিয়েবল অনুশীলন করতে আরও 5টি অনুশীলনী আনলক করুন