C# Dersleri 23 - Classlara Property Eklemek

     Daha önceki makalelerde tam olarak ne olduğunu açıklamasak da propertyleri defalarca kullandık. Örneğin bir Textbox'ta yazan değeri almak için kullandığımız "textbox1.Text" kod cümlesinde "Text", Textbox classının bir propertysidir.

     C#, classlara kendi propertylerimizi yazmamıza izin verir. Zaten küçüklü büyüklü neredeyse tüm projelerimizde property yazmamız gerekir.

     Yeni bir Windows form uygulaması oluşturup forma bir Button ekleyelim. Daha sonra projeye sağ tıklayıp Add -> Class seçeneği ile "Student" isimli bir class oluşturalım.     

class Student
{
    public Student(string name)
    {
        Name = name;
    }

    public string Name { get; set; }
}

     "public string Name { get; set; }" kod cümlesi ile Name adında bir property oluşturuyoruz. Bu parametrenin class dışından da erişilebilir olması için public keywordunu kullanıyoruz. Access Modifier'dan sonra property tipini tanımlıyoruz yani string. Daha sonra property ismini yazıyoruz. Zorunluluk değil tabi ki ama yazılımcı geleneği gibi düşünün; property isimleri büyük harfle başlar. Süslü parantezler içindeki "get;" keywordu, bu propertynin okunabilmesini sağlar. "set;" keywordu ise bu propertynin değerinin değiştirilebilmesini sağlar. Yani eğer oluşturduğunuz propertyde "set;" keywordu yoksa, o property readonly olmuş olur. 

     Student classının içinde string parametre alan bir Constructor oluşturuyorum ve Constructor aracılığıyla gelen değeri Name propertysine atıyorum.     

private void btnClick_Click(object sender, EventArgs e)
{
    Student st = new Student("Emre Yıldırım");
    MessageBox.Show(st.Name);
}

     Button'un click eventinde Student tipinde yeni bir nesne oluşturuyorum. string tipinde parametre bekleyen Constructor'dan dolayı, tanımlama sırasında new Student("Emre Yıldırım"); kod cümlesini kullanıyorum. Böylelikle oluşturduğu nesnenin "Name" propertysine "Emre Yıldırım" değerini atamış oluyor. Projeyi çalıştırıp Button'a tıklayınca MessageBox'ta "Emre Yıldırım" yazdığını göreceksiniz.

     Projeyi buradan indirebilirsiniz.

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f