C# ta get ve set nedir ve kullanımı

Merhaba Arkadaşlar,

C# ta sınıflarla çalışırken hepimizin get ve set ile işi olmuştur veya olacaktır.Çünki OOP’da olmazsa olmazıdır.Sınıfımızı oluşturduğumuzda nesnelerimizin get ve set propertiesleri oluşmaktadır.bu propertiesler nesnenin değerini okurken get te bulunan properties içindekilere göre okunur ve set te ise o blok içinde yazan kodlara göre set edilir.örnekle açıklamak gerekirse; sayilar adında bir sınıf yazalım ve burada sayi adında bir değişkenimiz olsun.Bu değişkenimizin get ve set olaylarına bakalım.

 public int sayi {
get{
//okunurken sayı çekilirken bakılacak kod bloğu
//return ifadesi kullanılmalıdır.Aksi halde kod çalışmaz
return this.sayi;

}
set{

//burada ise sayi değişkenine değer atanırken yapılacak kod kısmı
// value sabit değişkeni ile gelen değer okunur
this.sayi=value;

} }

yukarıda blok olarak nerede ne olacağını gördük şimdi bahsettiğimiz sayilar sınıfına gelelim.Sınıfımızın kodlarını ve yanlarına olan açıklamalarını attım.

public class sayilar
{
private int say2; //private bu sınıfta kullanılan bir değişken tanımlıyoruz.
public int sayi
{

get
{
if (say2>0) // Sayı 0 dan büyükmü kontrol ediyoruz.
{
return say2; //eğer durum true ise okunan değer normal sayı değerimiz oluyor.
}
else
{
return 1; //Eğer şartı sağlamıyorsa durum false olup burda sayi değerimizi 1 olarak gönderiyoruz.
}

}
set {
this.say2= value; //burada gelen standart olarak bilinen value değişkeninden gelen değeri say2 değişkenimize atıyoruz.
}
}
}

şimdi ise ana buttona yıklayınca programımız ne yapacak onun kodunu yazıyoruz.Bunun için ilk önce listbox ve button eklememiz gerekiyor.Buttonun Click eventinin kodları;

 sayilar s = new sayilar();

listBox1.Items.Add("Get okundu."+s.sayi);
s.sayi = 6;
listBox1.Items.Add("Set yapıldı " + s.sayi);
s.sayi = 3;
listBox1.Items.Add("Getteki if bloğu çalışacak " + s.sayi);