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 = isim
    @bakiye = 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

# Nesneleri oluşturalım
h1 = BankaHesabi.new("Ali", 1000)
h2 = BankaHesabi.new("Veli")

# Transfer işlemi
h1.transfer(h2, 300)
Ruby

Bir yanıt yazın