Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Getters & Setters

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Instance variable တွေကို class အပြင်ဘက်ကနေ တိုက်ရိုက်မခေါ်သင့်ပါ။ Ruby မှာ getter/setter method တွေကို attr_reader, attr_writer, attr_accessor နဲ့ လွယ်လွယ်ဖန်တီးနိုင်ပါတယ်။

ruby
class Car
  attr_accessor :brand
  attr_reader :color

  def initialize(brand, color)
    @brand = brand
    @color = color
  end
end

my_car = Car.new("Honda", "Blue")
my_car.brand = "Mazda"

puts my_car.brand
puts my_car.color

attr_accessor :brand က brand ကို read/write နှစ်မျိုးလုံးလုပ်ခွင့်ပေးပါတယ်။ attr_reader :color က color ကို read လုပ်ခွင့်ပဲပေးပါတယ်။

You should see
Mazda Blue

Info

ပြောင်းခွင့်မပေးချင်တဲ့ data အတွက် attr_reader သုံးပါ။ Public API ကို အလွယ်တကူမဖွင့်ပစ်တာက design ကောင်းပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • attr_reader :color ပဲရှိတဲ့အချိန် my_car.color = "Red" လုပ်ရင် setter မရှိလို့ NoMethodError ဖြစ်ပါမယ်။
Getters & Setters | Thuta Learning