Yapıcı Metot Nedir?
İngilizce: Constructor
Yayın: · Son güncelleme:
Yapıcı Metot Nedir? Kısaca
Yapıcı metot (constructor), bir sınıftan yeni nesne oluşturulduğu anda otomatik olarak çalışan ve nesnenin başlangıç değerlerini atayan özel metottur. Python'da `__init__`, Java ve C#'ta sınıfla aynı adı taşır.

Yapıcı metot nedir?
Yapıcı metot, bir nesne doğduğu anda çalışan ilk koddur. Görevi, nesneyi kullanıma hazır hâle getirmektir: gerekli değerleri atamak, varsayılanları belirlemek ve gerekirse girdileri kontrol etmek. İngilizcede constructor olarak geçer.
Bir otel odasının misafir gelmeden hazırlanması gibi düşünebilirsiniz. Oda kullanılmaya başlamadan önce yatak serilir, havlular konur. Yapıcı metot da nesne kullanılmadan önce içini düzenler.
Nasıl yazılır?
Python'da yapıcı metodun adı __init__'tir. class BankaHesabi: içinde def __init__(self, sahip, bakiye=0): tanımlanır ve gövdesinde self.sahip = sahip, self.bakiye = bakiye atamaları yapılır. Ardından hesap = BankaHesabi("Zeynep", 500) yazıldığında bu metot kendiliğinden çalışır ve 500 TL bakiyeli bir hesap oluşur.
Java ve C#'ta yapıcı metot sınıfla aynı adı taşır ve dönüş tipi yazılmaz: public BankaHesabi(String sahip, double bakiye). JavaScript'te ise sınıf içinde constructor adıyla tanımlanır. Bu dillerde farklı parametre setleriyle birden çok yapıcı metot tanımlamak da mümkündür.
İyi kullanım ve yaygın hatalar
Yapıcı metotta doğrulama yapmak, hatalı nesnelerin baştan oluşmasını engeller. Negatif bakiyeyle hesap açılmak istenirse metot bir istisna fırlatabilir. Böylece programın geri kalanı, her hesabın geçerli değerlerle başladığından emin olur.
Öte yandan yapıcı metodu ağır işlerle doldurmamak gerekir. Nesne oluşturulurken uzak bir sunucuya bağlanmak ya da büyük dosyalar okumak, nesne üretmeyi yavaş ve test etmeyi zor hâle getirir. Bu tür işleri ayrı bir metoda taşıyıp ihtiyaç anında çağırın.
Sıkça Sorulan Sorular
Constructor ne demek?
Constructor, Türkçede yapıcı metot olarak karşılanır. Bir sınıftan nesne oluşturulurken otomatik çalışan ve başlangıç değerlerini atayan özel metottur.
Her sınıfta yapıcı metot yazmak zorunlu mu?
Hayır. Yapıcı metot yazmazsanız çoğu dil parametresiz, varsayılan bir yapıcı metot kullanır. Başlangıçta değer atamanız gerekiyorsa kendi yapıcı metodunuzu tanımlarsınız.