Erişim Kontrolü
Önceki
İçindekiler
İçindekiler
moduller
Sonraki

 Ruby Kullanıcı KılavuzuTekil Metotlar 

Bir örneğin davranışı ait olduğu sınıf tarafından belirlenir. Ancak bazen belirli bir örneğin özel bir davranışı olmasını isteyebiliriz. Çoğu programlama dilinde, sadece bir kere kullanacağımız bir sınıf tanımlamak gibi karmaşık bir yol seçebiliriz. Ruby'de her nesneye kendine ait metotlar verebiliriz.

ruby> class SingletonTest
    |   def size
    |     print "25\n"
    |   end
    | end
   nil
ruby> test1 = SingletonTest.new
   #<SingletonTest:0xbc468>
ruby> test2 = SingletonTest.new
   #<SingletonTest:0xbae20>
ruby> def test2.size
    |   print "10\n"
    | end
   nil
ruby> test1.size
25
   nil
ruby> test2.size
10
   nil

Yukarıdaki örnekte, test1 ve test2 aynı sınıfa mensup olmalarına rağmen, test2'nin size metodu yeniden tanımlandığı için farklı davranır. Sadece tekil bi nesneye verilen metoda tekil metot (singleton method) denir.

Tekil metotlar CLOS, Dylan vb. programlama dillerinde olduğu üzere Ruby'ye özgü değildir. Self ve NewtonScript gibi bazı diiler ise sadece tekil metotlardan oluşmuştur. Bu tür diller, prototip tabanlı diller olarak anılırlar.


Erişim Kontrolü
Önceki
İçindekiler
İçindekiler
moduller
Sonraki