Merhabalar, dergimizin bu sayısında Nesne Yönelimli Programlama'dan (NYP) bahsedeceğiz.
NYP, bazı uygulama yeteneklerine sahip veri yığınlarının birbirleri ile olan ilişkisine dayanan güçlü bir programlama paradigmasıdır. Zaman içinde ihtiyaçlara bağlı olarak yazılan programların boyutlarının artmasıyla birlikte programlarda hata arama ve veri kontrolleri zorlaşmaya başladı, çünkü 50000 satıra varan bu büyük programlar iteratif paradigmayla oluşturuluyordu. Bu paradigma küçük boyutlu programlar için uygunsa bile büyük veri yapılarının depolama, kontrol ve değiştirilmesi işinde azımsanamayacak zorluklar çıkarıyordu. Ek olarak hata ayıklanması isi oldukca zorlaşmıştı, çünkü bu programlar homojen yapıdaydı ve hatanın bu kadar buyuk homojen bir yapıda tespit edilmesi oldukça güç bir işti. İşte iteratif yöntemin bu dezavantajları 1960'lı yıllarda NYP paradigmasının ortaya çıkmasını sağladı.
İteratif yöntemdeki “tür” tanımına benzer bir şekilde NYP de “sınıf” tanımı mevcuttur. Sınıfı türden ayıran genel özellikleri şunlardır:
Hafızada herhangi bir sınıf türünden bir yer ayırdığımız zaman, ayrılan bu yer artık "nesne" olmuş olur. (Kurduğumuz analojide "değişken"e denk geliyor)
Nesneler "sınıf" tanımında yer alan bütün özelliklere sahiptir. Şimdi, sınıf ile nesnenin iliskisine dair bir benzetme yapalım. Mesela; "otomobil" sınıfı tanımlayalım. Bir otomobile ait olabilecek renk, marka, model, katedilen km gibi özellikler otomobil sınıfının veri kısmını oluştururlar. Uygulama kısmına bakacak olursak, bu kısmı, otomobilin ""dinamik"" özellikleri şekillendirir. Bu uygulamalar 'kaçınılmaz' olarak otomobilin veri kısmında bir takım degişikliklere sebep olabilecektir, en azından biz böyle olmasını bekleriz. Örneğin; bir otomobil ilerleyebilir, geri gelebilir, sağa dönebilir veya sola dönebilir; bununla ilintili olarak otomobil sınıfının icinde ilerle() uygulamamız olduğunu varsayalım. Bu otomobil ilerledikçe katettiği km'si artacağından bu uygulama veri kısmındaki katedilen km verisini değiştirecektir. Aynı bu durumda olduğu gibi otomobilin modeli yıl geçtikçe arttırılacaktır. Bu benzetme üzerinden devam edecek olursak, buraya bazı özelliklerin eklenmesi gerektiğini farkedeceksiniz. Bu özellikleri NYP mantığının 3 temel özelliği altında inceleyelim:![]()
Şema
Yukarıda bahsettiğim özellikleriyle birlikte NYP mantığının daha birçok özelliği mevcut. NYP'nin büyük programların daha kolay bir şekilde oluşturulması, veri yapılarını daha kontrollü ve güvenilir biçimde depolanması, veri yapılarının daha kolay bicimde manipüle edilmesi ve erişimi, sade bir arayüz sağladığından hataların tespitinde kolaylık sağlaması, gibi özellikleri bu paradigmanın günümüzün çoğu uygulamasında kaçınılmaz çözüm olduğunu gösteriyor.
| Yazarın Üslubunu Beğendiniz mi?: | ||
| Yazının İçeriği Yeterli mi?: | ||
| Konu İlginizi Çekti mi?: |
Bu derginin içeriği, Creative Commons lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla ticari olmayan amaçlarla yazılarımızı kullanabilirsiniz.
©2007-2008 ODTÜ Bilgisayar Topluluğu