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.colorattr_accessor :brand က brand ကို read/write နှစ်မျိုးလုံးလုပ်ခွင့်ပေးပါတယ်။ attr_reader :color က color ကို read လုပ်ခွင့်ပဲပေးပါတယ်။
You should see
Mazda BlueInfo
ပြောင်းခွင့်မပေးချင်တဲ့ data အတွက် attr_reader သုံးပါ။ Public API ကို အလွယ်တကူမဖွင့်ပစ်တာက design ကောင်းပါတယ်။