3 Haziran 2013 Pazartesi

Property Kavramı - Csharp



Sınıf(class) içindeki değişkene değerini göndermeden önce kontrol edilmesine denir. Get ve set metodlarını kullanırız. Get metodu aynı return komutunun görevini görür.
Örnek: bir işçinin adini,soyadını ve yasını tutan bir sınıf oluşturalım. Öğrencinin yaşı 18 den küçük ise yaşı 18 yazsın, 18 den büyük ise gerçek yaşını yazınız.
private void button1_Click(object sender, EventArgs e)
        {
            isciler isci = new isciler();
            isci.yasi = 15;
                MessageBox.Show(isci.yasi.ToString());

          
        }
     
    }
    class isciler
    {
        public string Adi;
        public string Soyadi;
      int Yasi;

      public int yasi
      {
          get
          {
              return Yasi;
          }
          set
          {
              if (value < 18)
                  Yasi = 18;
              else
                  Yasi = value;
          }
      }
Kod Açıklaması: biz öncelikle bununla ilgili bir sınıf oluşturuyoruz işçinin adını,yaşını ve soyadını tutan;
    class isciler
    {
        public string Adi;
        public string Soyadi;
      int Yasi;
}
Dikkat edersiniz Yaşının başında public yok böylece bu yaşa başka bir yerden ulaşamayız. Çünkü sınıfın bu değişkeni artık private olmuştur. Peki bu yaşı biz çağrılmadan önce nasıl kontrol ederiz. Sınıfın içinde bir metod oluştururuz bunu public yaparızki başka yerden de ulaşalım.

           get
          {
              return Yasi;
          }
          set
          {
              if (value < 18)
                  Yasi = 18;
              else
                  Yasi = value;
          }

Buradaki set metodu ile öncelikle girilen değeri kontrol ederiz if yapısının içinde 18 den küçükmü diye value bizim atadığımız değer. Eğer yaş 18 den küçük ise sınıfın içinde olan Yaş değeri direk 18 yaparız
Eğer yaş 18 den büyük ise direk girilen atanan yaş değeri bizim sınıfın içinde olan yaş değişkenine eşit olur.
Böylece biz değerleri öncelikle set metodunun içinde kontrol ederiz sonra get metodu ile bu değeri döndürürüz.
private void button1_Click(object sender, EventArgs e)
        {
            isciler isci = new isciler();
            isci.yasi = 15;
                MessageBox.Show(isci.yasi.ToString());

          
        }
     
Sonra butonun içinde sınıftan bir nesne türetip o işçinin yaşını atarız 15 olarak. Ama set metodunun içinde kontrol ettiğimizde değer 18 yaşından küçük olduğu için direk işçinin yaşı 18 olur.












Hiç yorum yok :

Yorum Gönder

Google PageRank Checker Powered by  MyPagerank.Net