Ruby Sınıf Yapısı ve Değişkenlerin Kullanımı
Ruby OOP bir dil olduğu için nesne yönetimli programlamayı iyi bilmemiz gerekmektedir. Sınıfları ilk kez duyanlar için kısaca değinirsek, birden fazla metotların bir arada durmasına ve kendi içinde bir takım ilişki kurmasına verilen isimdir. Aslına bakalırsa Sınıflar bu kadar basit değildir ancak şu anda sizlere sınıfların ne olduğundan çok nasıl kullanacağımızı anlatacağım için bu bölümü kısa tutuyorum.
Örnek bir sınıf ve sınıfın kullanımı.
class Bilgiler #=> Sınıfın Başlangıcı def metodismi #=> Metodun Başlangıcı ... #=> Yapılacak işlemler end #=> Metodun Bitişi end #=> Sınıfın bitişi. sinıfiCagir = Bilgiler.new #=> Sınıfımı çağırdık ve başlattık. sinifiCagir.metodismi #=> Metodu çağırdık
Bu örnekte size örnek bir sınıfın oluşumuyla ilgili kısa bir bilgi verdim. Şimdi sınıfların kurallarından bahsedelim.
- Sınıf isimleri mutlaka büyük harf ile başlamalıdır.
- Sınıflar tanımlanırken class sözcüğü kullanılır
- Sınıf içinde oluşturulan değişkenler dışarıda kullanılamaz. Aynı şekilde sınıf dışında oluşturulan yerel değişkenler dışarıda kullanılamaz. (Sabitler ve global değişkenler hariç)
- Bir sınıfı istediğiniz kadar çağırabilirsiniz ve oluşturabilirsiniz.
İnitialize Metodu ile Sınıfı Başlatma
Sınıfları başlatırken içine dışarıdan değişkenler atamak gerekebilir bu tür işlemleri sınıfı başlatırkende yada daha sonra lazım olduğu zaman da yapabilirsiniz. Ben şimdi size bu başlık altında sınıfı başlatırken içine değişken atamayı göstereceğim.
class Bilgiler #=> Sınıfın Başlangıcı def initialize(deger1,deger2) puts deger1, deger2 end end #=> Sınıfın bitişi. sinıfiCagir = Bilgiler.new("enes","gür") #=> Sınıfımı çağırdık ve ilk verilerimizi girdik initialize metodunu başlattık. =begin Ekran Çıktısı enes gür =end
Görüldüğü gibi ilk sınıf başlatılırken değerlerimizi verdik ve sınıf içinde bu verilere eriştik. Peki bu verileri sadece initialize metodunda mı kullaabiliriz? tabii ki hayır. Sınıf değişkenleri sayesinde bir gelen veriyi sınıfın her yerinde kullanabiliriz. Kullanımına geçelim hemen;
class Konum def initialize(ulke,sehir,ilce) @ulke, @sehir, @ilce = ulke, sehir, ilce end def bilgiler puts @ulke, @sehir, @ilce end end sinif = Konum.new("Türkiye","İstanbul","Başakşehir") sinif.bilgiler #=> Çıktısı =begin Türkiye İstanbul Başakşehir =end