2 min read

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