Sınıflar ve Nesneler

Sınıflar ve Nesneler

Nesne tabanlı programlamada sınıf ve nesne kavramı en önemli şeydir. Nesneler sınıflardan türetilir. Aynı sınıftan oluşturulan nesneler ortak özelliklere sahip olurlar.

Örneğin araç kutusundan formumuz üzerine bir buton eklediğimizde Button sınıfından bir nesne üretmiş oluruz. Bu nesneye otomatik bir isim verilir. Aynı sınıftan farklı isimlerde birçok nesne üretebiliriz. Hepsi de Button sınıfındaki özelliklere sahip olurlar.

Windows Forms Uygulamaları geliştirirken birçok hazır sınıf ile çalışırız. Sınıflar içerisinde metotlar, özellikler ve alanlar gibi yapılar barındırır. Örneğin bir metin kutusunun Text, Enabled, BackColor gibi çok sayıda özelliği vardır. Bu özellikler o sınıfın içinde tanımlanmışlardır.

Nesne Tabanlı Programlama dilleri programcılara kendi sınıflarını yazma imkanı verir. Bu yöntem çok sayıda avantaj sağlar. Programlama tekniği açısından sağladığı avantajları bir kenara bırakırsak işimizi şu anlamda çok kolaylaştıracaktır. Programımızın genelinde kullanacağımız metotları veya bilgileri her seferinde tekrar yazmak zorunda kalmayız. Bu kodları bir sınıf içerisine yazarak istediğimiz her yerden ulaşabiliriz. Ve kodlarda bir değişiklik yapmamız gerektiğinde her yerde değişiklik yapmak zorunda kalmayız, sınıf içindeki kodları değiştirmemiz yeterli olur. Sadece bu bile önemli bizim için önemli bir kolaylıktır.

Sınıf Tanımlama

Sınıf tanımlarken class ifadesi kullanılır. Ardından sınıf adı belirtilir. Sınıf adı verilirken değişken ve metotlardaki isimlendirme kuralları geçerlidir.

class YeniSinif

{
    // Metotlar, özellikler ve alanlar burada oluşturulacak.
}

Metotların ne olduğu ve nasıl kullanıldığı ile ilgili daha önceki dersleri inceleyebilirsiniz.

Windows Forms Uygulamalarında tüm projede geçerli bir sınıf oluşturmak için şu adımları izleyebiliriz:

  • Çözüm Gezgini panelinde proje adına sağ tıklayın.
  • Ekle menüsünden Sınıf seçeneğine tıklayın. Sınıf adını yazarak tamam deyin.
  • Projemiz içerisine belirtiğimiz isimde cs uzantılı bir dosyanın eklendiğini göreceğiz. 

Aşağıdaki örnekte Sayilar adında bir sınıf oluşturulmuştur. Bu örneği inceleyelim ve açıklayalım.

class Sayilar
    {
        int sayi1, sayi2;
 
        public Sayilar(int a, int b)
        {
            sayi1 = a;
            sayi2 = b;
        }
 
        public int AradakileriTopla()
        {
            int toplam = 0;
            for (int i = sayi1; i <= sayi2; i++)
            {
                toplam += i;
            }
            return toplam;
        }
 
        public string AradakileriYaz()
        {
            string metin="";
 
            for (int i = sayi1; i <=sayi2; i++)
            {
                metin += i + " ";
            }
 
            return metin;
        }
 
    }

Örneği parça parça inceleyelim.

int sayi1, sayi2;

Sayilar sınıfı içerisinde öncelikle iki değişken oluşturuldu. Bu değişkenleri sınıf içerisinde her yerde kullanabileceğiz.

public Sayilar(int a, int b)
{
    sayi1 = a;
    sayi2 = b;
}

Sınıfların kendisi ile aynı isimde bir yapıcı metodu bulunur. Bu yapıcı metot dışarıdan bilgi alabilir veya almayabilir. Yapıcı metotlar o sınıftan nesne üretirken yapılması gereken işlemleri içerir. Nesne üretilirken bir işleme ihtiyaç yok ise yapıcı metot boş bırakılabilir veya yazılmayabilir.

Yukarıdaki örnekte Sayilar yapıcı metodu dışarıdan int türünde iki parametre almaktadır. Kendisine gönderilen sayıları sayi1 ve sayi2 değişkenlerine aktarmak için kullanılmıştır. Bu sayi1 ve sayi2 değişkenleri sınıf içindeki diğer metotlarda kullanılacak şekilde tasarlanmıştır.

public int AradakileriTopla()
{
      int toplam = 0;
      for (int i = sayi1; i <= sayi2; i++)
      {
          toplam += i;
      }
      return toplam;
}

Sayilar sınıfı içerisinde iki ayrı metot daha tanımlanmıştır. Bunlardan AradakileriTopla metodu sayi1 ile sayi2 değişkenleri arasında kalan tüm sayıları toplamakta ve sonucu geri döndürmektedir.

Programın herhangi bir yerinde Sayilar.AradakileriTopla() şeklinde bu metodu kullanabileceğiz. (Kullanım örneği sayfanın devamında..)

Benzer şekilde AradakileriYaz metodu da sayi1 ile sayi2 arasındaki tüm sayıları aralarında bir boşluk olacak şekilde birleştirerek sonucu geri döndürmektedir.

Örnekte görünen public ifadesi metodun erişim belirleyicisidir. Erişim belirleyicilerden daha önceki Metot Tanımlama ve Kullanma sayfamızda bahsetmiştik.

Nesne Oluşturma

Bir sınıfın içindeki özellik ve metotlara programın içinden ulaşabilmek için öncelikle o sınıftan bir nesne üretmemiz gerekir.

Sayilar nesne1 = new Sayilar( 10, 20 );

Yukarıda Sayilar sınıfından nesne1 adında bir nesne tanımlanmıştır. Eşitliğin sağında new komutu ardından sınıfın yapıcı metodu çağrılmıştır. Yapıcı metodu tanımlarken dışarıdan iki parametre alacak şekilde tanımlamıştık. Bu yüzden çağırırken iki parametre verdik.

int Toplam = nesne1.AradakileriTopla();

Oluşturduğumuz nesne sayesinde o sınıftaki metotlara ulaşabileceğiz. Yukarıda bunu görüyoruz. Aşağıda Sayilar sınıfı ve metotlarının kullanımı ile ilgili başka bir örnek bulunmaktadır.

private void button1_Click(object sender, EventArgs e)
{
    int a = int.Parse(textBox1.Text);
    int b = int.Parse(textBox2.Text);
 
    Sayilar nesnem = new Sayilar(a, b);
 
    label1.Text = nesnem.AradakileriTopla().ToString();
 
    label2.Text = nesnem.AradakileriYaz();
}

Bu sayfada sınıf ve nesne kavramını açıkladık. Sınıf tanımlayarak metotlarını oluşturduk. Ardından da bu sınıftan nesne türeterek o nesneyi kullanmayı gördük.

Sınıf içerisinde özellik ve alan kullanımını sonraki sayfamızda bulabilirsiniz.

c# sınıf tanımlama, c# class kullanımı, nesne tabanlı programlama sınıf tanımlama ve kullanma, c# nesne tanımlama ve kullanma, sınıflar ve nesneler

KONU İLE İLGİLİ ÖRNEKLER

Bu konu ile ilgili örnek bulunmamaktadır.



YORUMLAR




5098  kez okundu.

Online Kullanıcı Sayısı 186



siniflar-ve-nesneler