![]() Önceki |
![]() İçindekiler |
![]() Sonraki |
| Ruby Kullanıcı Kılavuzu | Tekil 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.
![]() Önceki |
![]() İçindekiler |
![]() Sonraki |