Sınıf ve Nesne İlişkisi
Giriş
Nesne tabanlı programlama, önceki ünitelerde de belirtildiği üzere yazılım tasarımını işlevler ve mantık yerine, sınıf ve nesneler etrafında düzenleyen bir programlama yaklaşımıdır. Nesne tabanlı programlama, programcıların işlemleri için gereken mantıktan ziyade işlem yapacağı nesnelere odaklanır. Nesne tabanlı programlamada büyük, karmaşık ve aktif olarak güncellenen veya bakımı yapılan programlar için çok uygundur. Bu yöntem işbirlikçi geliştirmeye de elverişlidir ve projeler böylece gruplandırılabilir.
Nesne tabanlı programlama yaklaşımı, gerçek hayatta var olan problemi çözmek üzere tasarlanacak modelin, sınıflarlar yardımıyla oluşturulan nesneler ve bu nesneler arasındaki ilişkilerden faydalanılarak kurulmasını ilke edinmiştir.
Sınıf ve Nesne Kavramları
Sınıf Kavramı
Sınıf (Class), nesne yönelimli programlamanın en önemli öğesidir. Sınıflar sayesinde program birkaç bölüme ayrılır ve karmaşıklıkları azalır (İTÜ/BİDB, 2021). Oluşturulan yöntemler ve özellikler bir sınıftadır ve bir sınıf birden çok kez kullanılabilir. Bir sınıf, içinde oluşturulacak nesnenin bir dizi üyesini içermelidir. Bu üyelere örnek olarak özellikler, metotlar, yapıcılar, olaylar sıralanabilir. Sınıf aynı zamanda nesne için bir şablon görevi görür. Bir başka ifadeyle sınıf, nesnenin durumuyla ilgili işlemleri ve nitelikleri tanımlar. Ortak niteliklere sahip nesnelere ait veriler ve işlemler bir sınıfta toplanır. Program içindeki nesneleri tanımlamak için bu tür bir sınıf yapısı sıklıkla kullanılır.
Nesne Kavramı
Nesne tabanlı programlamada nesneler sınıflardan türetilir (Hüsem, 2018). Bu nedenle nesneler, sınıfların aksine canlıdır ve kimlikleri vardır. Aynı sınıftan üretilen iki nesnenin özellikleri benzerdir ancak bu özelliklerin değerleri farklı olabilir. Bir ifadeyi nesne yapmak için bellekte bir konum belirtmelidir. Sınıflar kullanılarak uygulamadaki nesneleri tanımlanır ve bu nesnelere mesaj gönderilir. Gönderilen mesaja göre yeni bir nesneye ihtiyaç duyulduğunda bu nesne oluşturulur. Yanıt mesajı sınıfın işidir. Bir nesne, kendisi ve gerçekleştirebileceği işlemler hakkında bilgi depolar. Programın gerektirdiği tüm veriler nesne tarafından kaydedilir. Gerçekleştirilen işlemin türüne bağlı olarak, nesne farklı bilgiler içerir..
Sınıf ve Nesne İlişkisi
Sınıf, soyut bir veri tipidir. Nesne ise sınıftan türetilen somutlaşan bir varlıktır. Sınıflar, nesnelerde olması gereken özelliklerden durum ve davranışları içerir. Bu sınıftan oluşturulan örneğe (instance) de nesne denildiği önceki nesne konusunda bahsedilmişti. Dolayısıyla bir sınıftan birçok nesne üretilebilmektedir.
Sınıf ve nesne arasındaki ilişkide en önemli noktalardan birisi sadece aynı sınıftan oluşturulan nesnelerin tipleri aynı olabilmektedir. Örneğin bir bilgisayar sınıfından üretilen nesnenin özellikleri ile bir ev sınıfından üretilen nesnenin özellikleri birbirinden farklıdır.
Bu kısımda dikkat edilmesi gereken önemli bir nokta ise, aynı sınıftan üretilen nesneler aynı ortak özelliklere sahip olabilirler ancak bu özelliklerin değerleri farklıdır. Örnek olarak bir bilgisayar sınıfından üretilecek renk, marka, işlemci modeli veya ram miktarı özellikleri aynı olsa da bu özelliklerin değerleri birbirinden farklıdır
Sınıf ve Nesne İlişkisine Örnekler
Buraya kadar öğrendiklerimizi pekiştirmek için uygulamalar geliştirerek ilerleyelim. Örnek uygulamaları geliştirmek için Visual Studio 2019 ortamında Windows Forms proje türü seçilerek C# programlama dili kullanılmıştır.