📘 9.1 – Constructor (Yapıcı) Metotlar
🔹 Açıklama:
Constructor (yapıcı) metotlar, bir sınıftan nesne oluşturulduğunda otomatik olarak çalışan özel metotlardır. Bu metotlar sınıf adıyla aynı isme sahiptir ve geri dönüş türü (void, int vb.) yazılmaz.
Constructor’lar genellikle:
- Sınıfın ilk hâlini belirlemek,
- Gerekli değerleri başlatmak,
- Kullanıcıdan veri almadan önce varsayılanları ayarlamak,
- Nesne oluşturulurken parametreli bilgi almak için kullanılır.
🔍 Söz Dizimi:
public class Ogrenci
{
public string Ad { get; set; }
public Ogrenci() // parametresiz constructor
{
Ad = "Bilinmiyor";
}
}
📍 Kullanım Alanları:
- Otomatik başlatmalar (default değer atama)
- Form yüklendiğinde sınıf verisinin hazır olması
- Veri girişi yapılmadan önce nesnenin tanımlanması
- Kod tekrarını azaltarak düzenli yapı kurma
🎯 Kazanımlar:
- Constructor metodunun tanımını ve görevini öğrenme
- Parametresiz ve parametreli constructor’ların farkını kavrama
- Sınıfın ilk hâlini kurma yetisi kazanma
- Form uygulamalarında otomatik veri hazırlığına geçiş yapma
🧪 9.1 – Constructor (Yapıcı) Metotlar: Uygulamalı 5 Örnek
📌 Örnek 1: Parametresiz Constructor ile Varsayılan Değer Atama
🎯 Amaç: Nesne oluşturulduğunda, “Ad” özelliği otomatik “Bilinmiyor” olarak ayarlansın.
public class Ogrenci
{
public string Ad { get; set; }
public Ogrenci()
{
Ad = "Bilinmiyor";
}
}
// Kullanımı:
Ogrenci ogr = new Ogrenci();
MessageBox.Show(ogr.Ad); // "Bilinmiyor"
📝 Açıklama:
Kullanıcı veri girmezse bile, nesne boş kalmaz.
📌 Örnek 2: Parametreli Constructor ile Veri Alarak Nesne Oluşturma
🎯 Amaç: Ad ve Soyad bilgisi nesne oluşturulurken alınsın.
public class Ogrenci
{
public string Ad { get; set; }
public string Soyad { get; set; }
public Ogrenci(string ad, string soyad)
{
Ad = ad;
Soyad = soyad;
}
}
// Kullanımı:
Ogrenci ogr = new Ogrenci("Ahmet", "Yılmaz");
📝 Açıklama:
Bu yöntemle, oluşturma esnasında tüm bilgiler alınır ve daha güvenli kod yazılır.
📌 Örnek 3: Constructor ile Form Yüklenmeden Veri Hazırlığı
🎯 Amaç: Öğrenci bilgileri, form yüklendiğinde hazır gelsin.
public class Ogrenci
{
public string Ad { get; set; }
public string Bolum { get; set; }
public Ogrenci()
{
Ad = "Henüz girilmedi";
Bolum = "Yazılım";
}
}
// Form_Load içinde:
Ogrenci ogr = new Ogrenci();
txtAd.Text = ogr.Ad;
cmbBolum.Text = ogr.Bolum;
📝 Açıklama:
Constructor sayesinde, form açıldığında alanlar otomatik dolu gelir.
📌 Örnek 4: Constructorda Hesaplama Yapmak
🎯 Amaç: Öğrencinin not ortalaması nesne oluşturulurken hesaplanır.
public class Ogrenci
{
public double Ortalama { get; }
public Ogrenci(double n1, double n2, double n3)
{
Ortalama = (n1 + n2 + n3) / 3;
}
}
// Kullanımı:
Ogrenci ogr = new Ogrenci(70, 85, 90);
MessageBox.Show($"Ortalama: {ogr.Ortalama}");
📝 Açıklama:
Nesne oluşturulurken hesap yapılır, ayrı bir fonksiyona gerek kalmaz.
📌 Örnek 5: Nesne Listesini Constructor ile Başlatma
🎯 Amaç: Başlangıçta birden fazla öğrenci bilgisi hazır olsun.
public class Ogrenci
{
public string Ad { get; set; }
public Ogrenci(string ad)
{
Ad = ad;
}
}
// Liste hazırlığı
List<Ogrenci> ogrList = new List<Ogrenci>()
{
new Ogrenci("Ayşe"),
new Ogrenci("Mehmet"),
new Ogrenci("Selin")
};
📝 Açıklama:
Constructor sayesinde listeyi tek satırda, düzenli ve temiz biçimde tanımlarsın.
✅ Özet:
Bu örneklerle öğrenciler:
- Constructor’ın yazımını ve çağrılmasını,
- Nesne başlatmanın farklı yollarını,
- Formlar ile sınıfların nasıl uyumlu çalıştığını,
- Constructor ile hazır veri, hesaplama ve ön tanımlı değer oluşturmayı öğrendiler.
Pingback : A'DAN Z'YE NTP - İÇİNDEKİLER - Hasan TANDOĞAN