"Enter"a basıp içeriğe geçin

C# Yapıcı Metotlar (Constructor Methods) Nedir ve Nasıl Kullanılır?

Last updated on 28/07/2023

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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir