Nesnesel Programlama Unsurları

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.

121309_0033_NesneYnelim7

 

  • Ç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.

image016

 

  • 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.

mak27_4

 

Umarım yararlı olmuştur. İyi çalışmalar. Kolay gelsin..

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

C# Lambda Expressions kullanımı

Merhaba, Bu yazımda Lambda Expressions hakkında biraz bilgi vermeye çalışacağım. Lambda Expressions genelde basit işlermler yapmak için …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.