Sınıf (Class) ve Nesne (Object) Kavramları

Eyl 08, 2013

Sınıf (Class) : Sınıflar nesne yönelimli (object oriented) programlamanın en önemli öğesidir. Sınıflar sayesinde programlar parçalara bölünür ve karmaşıklığı azalır. Yaratılan metodlar ve özellikler bir sınıfın içerisinde yer alır ve bir sınıf defalarca kullanılabilir. Bir sınıfta hem fonsiyonlar hem de veriler aynı anda birbiriyle sıkı bir şekilde bağlı olarak bulunurlar.Bir sınıf kendisinde oluşturulacak nesneler için bir takım üyeler içermelidir. Bu üyeler; alanlar (fields), metodlar (methods), yapıcılar (constructor), özellikler (properties), olaylar (events), delegeler (delegates), vb...dir.Sınıf nesneler için bir şablon görevi görmektedir. Yani sınıf nesnelerin durumları ile ilgili işlemleri ve özellikleri tanımlar. Ortak özelliklere sahip nesnelere ait veri ve yordamlar bir sınıfın içinde toplanır. Bu sınıf yapısı kullanılarak programın içinde nesneler tanımlanır. Örnek bir sınıf şu şekilde oluşturulabilir.

  class OrnekSınıf    {         public OrnekSınıf() //Constructor         {

        }   

            public int ozellik1;
            public int ozellik2;
            public string ozellik3;
            public int Metod1(int a, int b)

        {

            return a + b; 

        }
    }
}

Nesne (Object) :Nesneye yönelik programlamada nesneler sınıflardan üretilirler. Nesler sınıfların aksine canlıdır ve kimlikleri vardır. Aynı sınıftan üretilmiş iki nesnenin sahip olduğu özellikler benzerdir ancak bu özellikler farklılıklar da gösterebilir. Bir ifadenin nesne olabilmesi için bellekte yer belirtmesi gerekir. Sınıfı kullanan programda nesneler tanımlanır ve bu nesnelere mesajlar gönderilir. Gönderilen mesajlara göre yeni bir nesneye gereksinim duyulduğunda bu nesne yaratılır. Mesajlar karşısında bir davranışta bulunmak sınıfın işidir. Bir nesne kendi hakkında, yapabileceği işlemler ile ilgili bilgiler saklar.Programın gereksinim duyduğu tüm veriler nesneler tarafıdan tutulur. Yapılan işlemin cinsine göre nesnelerde farklı bilgiler içerirler. Yukarda yaratılan sınıftan oluşturulabilecek nesneler;

namespace sınıf
{
    class Program 
    {
        static void Main(string[] args) 
        {

            OrnekSınıf ornekNesne = new OrnekSınıf();

            ornekNesne.ozellik1 = 5; 
            ornekNesne.ozellik2 = 10;
            ornekNesne.ozellik3 = "Sonuc: ";

            int sonuc = ornekNesne.Metod1(ornekNesne.ozellik1,

            ornekNesne.ozellik2);

            Console.Write(ornekNesne.ozellik3);
            Console.Write(" ");
            Console.WriteLine(sonuc);
            Console.ReadLine();