SORU
7 Kasım 2009, CUMARTESİ


Örnek değişken: bireysel vs @

Burada bazı kod:

class Person
  def initialize(age)
    @age = age
  end

  def age
    @age
  end

  def age_difference_with(other_person)
    (self.age - other_person.age).abs
  end

  protected :age
end

Bilmek istediğim age_difference_with yöntem @age self.age kullanma arasında fark vardır.

CEVAP
7 Kasım 2009, CUMARTESİ


Doğrudan @age yazı örneği @age değişken erişir. Yazılı self.age söyler nesne göndermek kendi mesaj age, genellikle dönüş örneği değişken @age — ama yapabileceğim herhangi bir sayıda diğer şeyler nasıl bağlı age yöntem uygulanır belirli bir alt sınıfı. Örneğin, her zaman kendi yaş aslında en az 10 yaş daha genç raporlarını MiddleAgedSocialite bir sınıf olabilir. Ya da daha pratik olarak, PersistentPerson bir sınıf tembel kalıcı bir mağazadan bu veri, bir karma tüm kalıcı veri önbellek okuyabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007