Merhaba, bu yazıda C# yapıcı metotların ne olduğunu, nasıl kullanıldığını ve neden önemli olduklarını anlatacağım. Constructor metotlar, bir sınıfın nesnelerini oluştururken otomatik olarak çağrılan özel metotlardır. Constructor metotlar, sınıfın adıyla aynı olmalı ve geri dönüş tipi belirtilmemelidir. Constructor metotlar, nesnelerin başlangıç değerlerini atamak, bağımlılıkları enjekte etmek veya nesneler arası ilişkileri kurmak gibi işlemler için kullanılabilir.
Constructor metotlar, iki türde olabilir: parametresiz (default) veya parametreli.
Parametresiz Constructor
Herhangi bir parametre almayan ve sınıfın varsayılan değerlerini atayan constructordur.
Parametreli Constructor
Bir veya daha fazla parametre alan ve sınıfın değerlerini bu parametrelere göre atayan constructordur.
Bir sınıfın birden fazla constructor metotu olabilir, bu durumda constructor overloading (aşırı yükleme) denir. Constructor overloading sayesinde, farklı senaryolara göre farklı nesneler oluşturmak mümkündür.
C# dilinde, bir sınıf tanımlanırken herhangi bir constructor metotu belirtilmezse, derleyici otomatik olarak parametresiz bir constructor metotu ekler. Bu constructor metotu, sınıfın tüm alanlarını (fields) varsayılan değerlere atar. Örneğin, int tipindeki bir alan 0, bool tipindeki bir alan false, string tipindeki bir alan null değerine atanır. Ancak, eğer sınıf tanımlanırken en az bir constructor metotu belirtilirse, derleyici otomatik olarak parametresiz bir constructor metotu eklemeyecektir. Bu durumda, eğer parametresiz bir constructor metotu isteniyorsa, bunu açıkça tanımlamak gerekir.
C# dilinde constructor metotlarının kullanımına örnek vermek gerekirse, şöyle bir sınıf tanımlayalım:
class Person {
public string Name { get; set; }
public int Age { get; set; }
public string Occupation { get; set; }
// Parametresiz constructor
public Person() {
Name = "Unknown";
Age = 0;
Occupation = "Unknown";
}
// Parametreli constructor
public Person(string name, int age, string occupation) {
Name = name;
Age = age;
Occupation = occupation;
}
}
Bu sınıftan nesneler oluşturmak için şöyle yazabiliriz:
Person p1 = new Person(); // Parametresiz constructor çağrılır
Person p2 = new Person("Ali", 25, "Engineer"); // Parametreli constructor çağrılır
p1 nesnesinin değerleri şöyle olacaktır:
p1.Name -> "Unknown"
p1.Age -> 0
p1.Occupation -> "Unknown"
p2 nesnesinin değerleri şöyle olacaktır:
p2.Name -> "Ali"
p2.Age -> 25
p2.Occupation -> "Engineer"
Görüldüğü gibi, constructor metotlar sayesinde sınıfların nesnelerini farklı şekillerde oluşturabiliyoruz. Constructor metotlar, C# dilinde önemli bir konsepttir ve nesne yönelimli programlamanın temellerinden biridir. Umarım bu yazı sizlere faydalı olmuştur. Yorumlarınızı bekliyorum.
C# ile ilgili diğer yazılarım için: C# – Bizneyapiyoruzki