Sınıflar
Sınıf Oluşturma
Sınıflar diğer birçok dildeki gibi class
terimi ile oluşturulur.
Yukarıda bir insan
sınıfı oluşturduk. Bu sınıf isim, yas ve kilo gibi özellikleri vardır. Tıpkı bir insanda bulunan özellikler gibi.
Hemen aşağısında, kisi1 adından insan sınıfında bir nesne ürettik. Artık kisi1 nesnesi bir insan oldu 😉
Peki kisi1
'in böyle özellikleri var ama bu özelliklerin değerleri yok mu? Tabi ki olacak.
Artık kisi1
tamamen insan oldu diyebiliriz. print(kisi1.isim);
yazarak kisi1
'in isim değişkenini yazdırabiliriz. Ama olaya biraz dikkat ettiğimizde değerlerin kisi1
'e ait değil de insan sınıfında ait olduğunu görebiliriz. Yani insan
sınıfı için oluşturulmuş nesnelerin varsayılan değerini girmiş olduk. Çözümümüz Constructors (Yapıcılar);
Constructors (Yapıcılar)
Yapıcılar bir sınıf nesnesi üretirken değerlerin tanımlanmasında kullanılır. Örneğimiz:
Yapıcılar sınıfların içerisine fonksiyon olarak tanımlanır. Bir fonksiyonun yapıcı fonksiyon olması için sınıf ile aynı isme sahip olması gerekir. Yani insan
sınıfının yapıcısı insan()
fonksiyonu olmalıdır. Yapıcı fonksiyonlardaki mantık, dışarıdan alınan değerleri sınıf içerisindeki değişkenlere yerleştirmektir. Yapıcı fonksiyondaki parametrelerin isimleri ile sınıf değişkenlerinin isimlerinin aynı olmadığına dikkat çekmek isterim. Bu işlemi this
işaretçisi ile de yapabiliriz.
This işaretçisi nedir?
This işaretçisi, sınıfa özel tanımlı değişkenleri kullanabilmeyi sağlayan işaretçidir. Yapıcımızı bir de this
ile oluşturalım.
Yukarıdaki this
şu işlemi yapıyor. this = bu. isim
parametresinden gelen değer, this.isim
ile bu sınıfın isim
değişkenine atansın.
This ile Yapıcı oluştururken Kolay Yöntem
Yukarıdaki yapıcıyı oluştururken parametreleri this
işaretçisi ile yazdık. Böylece atama işlemine gerek kalmadan parametreler üzerinden atanmasını sağladık.
Sınıf Nesnesi Oluştururken Belirli ve Varsayılan Yapıcı Parametresi Girme
Fonksiyonlar konusunda gördüğümüz gibi parametrelere değer yollarken hangi değişkene yollayacağımızı seçebiliriz.
main
fonksiyonuna baktığımızda,
kisi1
adında insan nesnesi oluştururken yapıcı fonksiyona sadece isim
ve kilo
değerlerini yolladık. yas
değişkeninin değeri yapıcı fonksiyonda varsayılan değer aldı.
İsimlendirilmiş Yapıcılar
Eğer sınıfımıza birden fazla yapıcı eklemek istiyorsak isimlendirilmiş yapıcıları kullanırız. Örnek:
insan
sınıfımız hem insan
adlı yapıcı fonksiyona sahip, hem de insan.bos
adında isimlendirilmiş yapıcı fonksiyona sahip. insan.bos
yapıcı fonksiyonumuz insan
sınıfından üretilen nesnede kullanıldığında değişkenlere boş bilgiler giriyor.
main
fonksiyonumuzda nesne üretimini gözlemlediğimizde, nesnenin insan.bos()
yapıcı fonksiyonu ile üretildiğini görüyoruz.
Last updated