c ++ dersleri 1
November 20, 2007 5:20 am seoYazılım geliştirme işi, gerçek dünyadaki bir uygulamanın bilgisayar üzerinde model¬lenmesidir. Bir yazılım sistemi iki ana unsurdan oluşur: veriler ve bu veriler üzerinde yapılan işlemler. Bilgisayarla çözülecek olan problemin ayrıştırılması (decomposition) aşamasında, programın temelinin hangi unsurlardan oluşacağına karar verilmelidir.
veriler mi ? işlemler mi?
Altprogramlara dayalı dillerde (C, Pascal) program bir dizi fonksiyon çağrısı görünümündedir. Her fonksiyon belirli bir grup işlemi kendisine gönderilen veriler üzerinde gerçekleştirir ve bir ya da daha çok sonuç oluşturur. Bu dillerde fonksiyonlar birer kara kutu gibi çalışırlar. Bu programlama modeli işlemleri temel olarak kabul etmektedir.
Nesneye dayalı programlama yönteminde veriler temel alınarak program tasarımı yapılır.
Bir yazılım sisteminin tasarımına başlanırken sorulması gereken ilk soru,
“Bu sistem ne yapar ?” DEĞİLDİR.
Sorulması gereken ilk soru,
“Bu sistem, işlemleri hangi veriler üzerinde uygular ?” OLMALIDIR.
Nesneye dayalı yöntemde düşünce şekli, problemi bilgisayarın tanıyacağı yapılara dönüştürmek değildir. Amaç, bilgisayarın ve yazılım ortamının probleme adapte edilmesidir. Bunun için problemi oluşturan varlıklar belirlenir. Varlıklar birbirlerinden fiziksel ve mantıksal ayrılıklarıyla ve problemin geri kalanından bağımsız olmalarıyla tanınırlar. Bu varlıklar programlama dilinde nesneler ile temsil edilir. Çözülecek problemdeki varlıklar ile programdaki nesneler arasında birebir ilişki kurulması amaçlanır.
Nesneye dayalı yöntemde yazılım geliştirmek, yeni veri tipleri (sınıf) yaratmak ve bu veri tiplerine, kendilerine gönderilen mesajlar karşısında nasıl davranacaklarını öğretmektir.
Bir sınıfa, gelen mesajlara nasıl bir davranışla karşılık vereceği metodlarla öğretilir.
Sınıfın kullanıcısı, bu veri tipinden örnekler (instances) yani nesneler türetir ve bu nesnelere mesajlar gönderir.
