Ruby programlama PROTECTED metot kullanımı

Sınıf dışından erişime kapalı metotlardır. Private metotlardan farkı ise, private metotlar kendilerinin
çağıran nesne örneği dışında başka nesne örnekleri üzerinde işlem yapamazken, korumalı metotlar
bu özelliğe sahiptirler.
Örneğimizi güncelleyelim:
class BankaHesabi
def initialize(isim, bakiye = 0)
@isim, @bakiye = isim,bakiye
end
def transfer(hesap, miktar)
aktarma(hesap,miktar)
puts "İşlemden sonra:"
puts "h1 hesabının bakiyesi = #{@bakiye}"
puts "h2 hesabının bakiyesi = #{hesap.bakiye}"
end
protected
attr_accessor :bakiye
def aktarma(hesap, miktar)
@bakiye -= miktar
hesap.bakiye += miktar
end
end
h1= BankaHesabi.new("Ali", 1000)
h2= BankaHesabi.new("Veli")
h1.transfer(h2, 300)

 

 

Bir yanıt yazın