Nesne Yönelimli Programlama (Object Oriented Programing)

Bugün internette dolaşırken nesne yönelimli programcılığın özelliklerine ve getirilerene bakarken facebook’un wiki arşivinden böyle bir yazı buldum ve hemen blogumda paylaşmak istedim.

Hangi programlama dilini kullanırsak kullanalım yazdığımız yazılımların parça parça bir bütünü oluşturması kanaatindeyim.  Nesne Yönelimli Programlama (OOP) da  parça parça ayırdığınız bütün classlarınız birer nesne gibi düşünebilirsiniz. Bu nesnelerinizin de ayrı ayrı işlemleri olduğunu düşünün. Her bir parçayı ayrı ayrı kontrol etmek hem vakitten hem de saatlerce sorun aramanızdan kurtaracaktır. Çünki kurduğunuz nesnelerinizin hepsini tek tek kontrol edebiliyor olacaksınız.  Bu güzel bir şey değil mi ? Aşağıdaki yazı size daha da iyi fikir verebilir;

Nesne yönelimli programlama (NYP), (İngilizce:Object Oriented Programming) özetle bir bilgisayar programlama yaklaşımıdır. Günümüzde pekçok çağdaş programlama dili tarafından desteklenmektedir.

1960‘lı yılların sonuna doğru ortaya çıkan bu yaklaşım, o dönemin yazılım dünyasında beliren bir bunalımın sonucudur. Yazılımların karmaşıklığı ve boyutları sürekli artıyor, ancak belli bir nitelik düzeyi korumak için gereken bakımın maliyeti zaman ve çaba olarak daha da hızlı artıyordu. NYP’yi bu soruna karşı bir çözüm haline getiren başlıca özelliği, yazılımda birimselliği (modularity) benimsemesidir. NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik(polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır. Sağladığı bu avantajlardan dolayı, NYP günümüzde geniş çaplı yazılım projelerinde yaygın olarak kullanılmaktadır.

NYP’nın altında yatan birimselliğin ana fikri, her bilgisayar programının (izlence), etkileşim içerisinde olan birimler veya nesneler kümesinden oluştuğu varsayımıdır. Bu nesnelerin her biri, kendi içerisinde veri işleyebilir, ve diğer nesneler ile çift yönlü veri alışverişinde bulunabilir. Halbuki NYP’den önce var olan tek yaklaşımda (Yordamsal programlama), programlar sadece bir komut dizisi veya birer işlev (fonksiyon) kümesi olarak görülmektediler…

Nesne yönelimli programlama dilleri yukarıda adı geçen tüm öğelere sahip olurken, Visual Basic gibinesne tabanlı programlama dilleri birkaçından yoksundur.

Ayrıca Bkz.

Türkçe ActionScript 3 Nesne Yönemli Programlama Eğitimleri