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