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

  • sonia989

    sonia989

    26 EKİM 2006
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008
  • The White House

    The White Ho

    21 Ocak 2006