İçeriğe geç

Ruby Günlükleri #7 | Instance Variables

Tahmini Okuma Süresi: 3 dakika

Ruby Günlükleri serisinde #7 numaralı yazıya geldik. Sınıflar, Nesneler ve Methodlar hakkındaki #6 yazısına göz atmayı unutmayın. Bu yazıda Instance Variables yani ‘Örnek Değişkenler’ üzerinde bir öğrenme alanı oluşturacağız. İşte, başlıyoruz. 🙂

@ Karakteriyle başlayan değişkenler ‘örnek değişkenler’ dir – bu, bireylerin nesnelerine – veya sınıfın ‘örneklerine’ ait oldukları anlamına gelir. Örnek değişkenleri önceden bildirmek gerekli değildir. Yeni yöntemi çağırarak Köpek sınıfının örneklerini (yani ‘köpek nesneleri’) oluşturabilirim. Burada iki köpek nesnesi oluşturuyorum (sınıf adları büyük harfle başlarken nesne adları küçük harflerle başlar).

mydog = Dog.new
yourdog = Dog.new

Şu anda, bu iki köpeğin adları yok. Yapacağım sonraki iş, isim vermek için set_name methodunu çağırmaktır:

mydog.set_name( 'Fido' )
yourdog.set_name( 'Bonzo' )

Her köpeğe bir isim verdikten sonra, daha sonra adını öğrenmenin bir yolunu bulmam gerekiyor. Bunu nasıl yapacağım? Her nesnenin iç ayrıntıları sadece nesnenin kendisi tarafından bilinmekte olduğundan, @name değişkenine erişmek için bir nesnenin içinde kurcalama yapamam. Bu, ‘saf’ nesne yöneliminin temel bir ilkesidir: her nesnenin içindeki veriler özeldir.

Her bir nesneye tam olarak tanımlanmış yollar (örneğin set_name yöntemi) ve kesin olarak tanımlanmış yollar vardır. Yalnızca nesne kendi içerisinde dağınık olabilir. Dış dünyada yapamaz. Buna ‘veri gizleme’ denir ve ‘kapsülleme’ (encapsulation) ilkesinin bir parçasıdır.

Her köpeğin adını öğrenmemiz gerektiğinden köpek sınıfına bir get_name yöntemi sunalım:

Return anahtar kelimesi burada isteğe bağlıdır. Atlandığında Ruby yöntemleri, değerlendirilen son ifadeyi döndürür.

Net olmak için kullanmayı planladığım her değeri açıkça döndürme alışkanlığımı devam ettireceğim.

Sonunda, konuşmasını isteyerek köpeğe bir davranış kazandıralım. Aşağıda, sınıflandırmanın bir örneğini vereceğim:

Şimdi, bir köpek yaratabilir, adını verebilir, adını gösterebilir ve şu şekilde konuşmasını isteyebiliriz:

Bu örnekten de göreceğiniz üzere, kendi sınıf, nesne ve methodlarımızı oluşturabildiğimiz gibi, örnek değişkenlerimizi de oluşturabiliriz. Burada en göze çarpan şey ise, kodlarımızın okunabilirlik seviyesinin çok yüksek olması, elbette basit bir örnek ancak ne kadar karmaşık yapmayı denesek de anlamak ve güncellemek çok kolay. İşte bu yüzden Ruby seviyoruz. 🙂

Yazı hakkında görüşlerinizi, daha detaylı öçalışmalarınızı benimle paylaşmayı unutmayın, iyi çalışmalar. 🙂

İlk Yorumu Siz Yapın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir