Nesne, içinde veri ve bu veriler üzerinde işlem yapacak olan metotları (fonksiyon) bulunduran yazılım bileşenidir. Veri ve metotlar, birlikte nesnenin üyeleridir. Bir nesne yapısı, bir sınıf (class) içinde tanımlanır. Sınıf içinde nesneyi oluşturan üye değişkenler ve metotlar açıkça tanımlanır. Nesneye yönelik programlama ise uygulamaları nesneler kullanarak yani bir çok nesnenin bir araya gelmesi ile oluşturmak demektir. Nesneye yönelik programlamanın temelde olması gereken 4 tane unsuru vardır. Bunların bütünü, nesneye yönelik programlamanın genel mantığını oluşturur.
- Kapama (Encapsulation) : Genel anlamda kapama; nesnenin niteliklerini ve işlemlerini ortaya koyan metot ve özelliklerin bulunmasıdır. Bu durum nesne yönelimli programlamanın temelini açıklamaktadır. Örneğin üçgen nesnesinin kenar uzunlukları, alanı, çevresi gibi.
NESNE = VERİ + METOTLAR
- Modülerlik (Kalıtım) (inheritance) : Bir nesnenin başka bir nesne sınıfına ait olmasıdır. Örnek olarak insan nesnesi canlı nesnesinin olduğu sınıfa da aittir. Genel ve alt sınıflar vardır. Alt sınıf, genel sınıftan türetilir. Örneğin, mutfak eşyası genel sınıfımız olsun. Bu sınıfın alt sınıfları olarak buzdolabı ve bulaşık makinesi alt sınıfı türetilir. Alt sınıflar kalıtıldıkları üst (genel) sınıfın metot ve özelliklerini aynen alırlar. Şekilde ise yemek üst sınıfından türeyen et yemekleri ve çorbalar alt sınıfları türemiştir.
- Çok Biçimlilik (Polimorfizm) : Polimorfizm (çok biçimlilik) hemen hemen her yerde görebileceğiniz tanımıyla izah edecek olursak farklı nesnelerin olaylar karşısında tepkilerinin farklı olması durumudur. Örnek vererek somutlaştırırsak eğer; şekil sınıfından türetilmiş üçgen ve daire sınıflarımız olsun. Üçgen ve daire sınıflarının özellikleri, aldıkları parametreler farklıdır. Üçgenin kenar uzunluğu vardır dairenin yarıçapı vs. Fakat her iki sınıfında kullanabileceği şekil genel sınıfına ait çevre ve alan metotları (fonksiyon) vardır. Üçgen ve daire sınıfı bu metotlar sonucu başka değerler döndüreceklerdir. Kısaca bu olay bu şekilde özetlenebilir. Aşağıdaki şekilde de çalışan genel sınıfına ait özellik ve metotlar verilmiş ve bu sınıftan türeyen alt sınıflar belirtilmiştir.
- Soyutlama (Abstraction) : Nesne (object) ve sınıf (class) soyut kavramlardır. Çok biçimlilikte bahsettiğimiz olaya benzer bir yapı vardır. Dikkat edecek olursak orada örnek verirken şekil sınıfının içinde çevre ve alan metotları vardı ve alt sınıf olan üçgen ve daire bu metotlara kendi özellik ve parametrelerini kullanarak değişik tepkiler (cevaplar) veriyorlardı. Yani şekil sınıfındaki çevre ve alan metotları soyutlanmış yapılardır ve belirli gövdeleri yoktur. Onları kullanan sınıfların özellik ve parametrelerine göre şekil alırlar. Bu durumu kısaca bu şekilde açıklayabildim.
Umarım yararlı olmuştur. İyi çalışmalar. Kolay gelsin..