📘 7.3 – Get-Set Yöntemleri


🔹 Açıklama:

C# dilinde get ve set blokları, kapsülleme (encapsulation) mekanizmasının en önemli araçlarıdır. Bu bloklar sayesinde sınıf içindeki değişkenler dış dünyaya kontrollü şekilde açılır.

get: Değerin okunmasını sağlar.

set: Değerin atanmasını sağlar ve burada giriş kontrolü yapılabilir.

Bu yöntemler sayesinde:

  • Veri doğruluğu korunur
  • Gerektiğinde sadece okuma veya sadece yazma işlemi aktif olur
  • Programın bütünlüğü bozulmadan genişletilebilirlik sağlanır

📍 Kullanım Alanları:

  • Şifre, yaş, TC kimlik numarası gibi doğrulanması gereken alanlar
  • Kullanıcı adının boş geçilmesini engellemek
  • Salt okunabilir sabit değerler sunmak
  • Formdan gelen verileri doğrulayıp uygun formata dönüştürmek

🎯 Kazanımlar:

  • get ve set bloklarının yapısını kavramak
  • Doğrulama işlemini sınıf seviyesinde gerçekleştirmek
  • Salt okunabilir (readonly) ve salt yazılabilir (writeonly) alanları anlamak
  • Form kontrolleriyle property kullanımı arasında ilişki kurmak
  • Gerçek dünyaya uygun, sağlıklı sınıf tasarımı yapmak

🧪 7.3 – Get-Set Yöntemleri: Uygulamalı 5 Örnek


📌 Örnek 1: Get ve Set Bloklarının Temel Kullanımı

🎯 Amaç:

Bir private alan için temel get ve set tanımlaması yapmak.

💻 Kod:

public class Calisan
{
    private string ad;

    public string Ad
    {
        get { return ad; }
        set { ad = value; }
    }
}

📝 Açıklama:

Bu örnek, temel bir kapsülleme sağlar. Değişken doğrudan erişilemez, get ve set bloklarıyla kontrol edilir.


📌 Örnek 2: Get Bloklu (Salt Okunabilir) Özellik

🎯 Amaç:

Sadece okunabilir bir özellik tanımlamak.

💻 Kod:

public class Sistem
{
    private string versiyon = "v1.0.3";

    public string Versiyon
    {
        get { return versiyon; }
    }
}

📝 Açıklama:

Versiyon bilgisi dışarıdan sadece okunabilir. Kod dışında kullanıcı tarafından değiştirilemez.


📌 Örnek 3: Set Bloklu (Salt Yazılabilir) Özellik

🎯 Amaç:

Yalnızca atama yapılabilen, okunamayan bir alan oluşturmak.

💻 Kod:

public class Kisi
{
    private string sifre;

    public string Sifre
    {
        set { sifre = value; }
    }
}

📝 Açıklama:

Bu durumda şifre dışarıdan set edilebilir, ancak okunamaz. Güvenlik için ideal bir yapı.


📌 Örnek 4: Set Bloğunda Giriş Kontrolü

🎯 Amaç:

Kullanıcının girdiği veriyi doğrulayıp geçerli değilse varsayılan değer atamak.

💻 Kod:

public class Ogrenci
{
    private int yas;

    public int Yas
    {
        get { return yas; }
        set
        {
            if (value >= 5 && value <= 100)
                yas = value;
            else
                yas = 0; // Geçersiz değerler sıfır kabul edilir
        }
    }
}

📝 Açıklama:

Bu kontrol sayesinde uygulamanın veri bütünlüğü korunur. Uygunsuz değerler engellenir.


📌 Örnek 5: Get İçinde Formatlama İşlemi

🎯 Amaç:

Özellik döndürülürken özel bir formatla geri verilmesini sağlamak.

💻 Kod:

public class Personel
{
    private string adSoyad;

    public string AdSoyad
    {
        get { return adSoyad.ToUpper(); }
        set { adSoyad = value.Trim(); }
    }
}

📝 Açıklama:

Kullanıcının girdiği isim boşluklardan arındırılır ve her okunduğunda büyük harfe çevrilir.


✅ Özet:

Bu örneklerle öğrenciler artık:

  • Get ve set bloklarının ne işe yaradığını
  • Okuma ve yazma işlemlerinin birbirinden bağımsız kontrol edilebildiğini
  • Giriş kontrollerini doğru yere konumlandırmayı
  • Veriyi sadece değil, biçimlendirilmiş ve denetlenmiş şekilde sunmayı öğrendiler.

Leave a Reply