Nesneye dayalı programlama
Yazılım sektöründe program geliştirme konusunda geçmişten günümüze bir çok yaklaşım denenmiştir. Bunlardan bazıları:
- Spagetti kodu
- Yapısal programlama (Structured Programming)
- Yordamsal programlama (Procedural Programming)
- Nesneye dayalı programlama (Object-Oriented Programming)
Ancak yukarıda anlatılan durum yapısal programlama ilkelerine ters düşmektedir. Çünkü programın akış kontrolünü zorlaştırmaktadır. Oysa yapısal programlamada program tasarımı ve yazımı bir takım kurallara bağlıdır ve program akış kontrolünü sağlayan üç temel yapı vardır: sıralı yapı, karar yapısı, ve döngü yapısı. Sıralı yapıda program deyimleri görünen sırada çalıştırılır. Karar yapısında iki veya daha fazla olası durum arasından bir seçim yapılması sağlanır. Döngü yapısında ise programda yer alan bazı deyimlerin birden çok kez tekrarlanması sağlanır.
Bunun dışında yapısal programlamada geniş programlar küçük parçalara bölünür. Her parça (yani fonksiyon) diğerlerinden soyutlanmış değişkenler, kodlar içermekte ve sonuçta tek bir değer döndürmektedir. Burada amaç büyük bir programı, küçük alt programlara (fonksiyon) bölerek programa modüler bir yapı kazandırmaktır. Yapısal programlama yaklaşımına örnek olarak PASCAL, ADA, JAVASCRIPT, PHP verilebilir.
Yapısal programlama dillerinin bir çoğu yordamsal (procedurel) yaklaşıma izin vermektedir. Tipik yordamsal programlama dilleri; ALGOL, ADA, PASCAL, C'dir. Ayrıca Linux çekirdeği, Doom ve Quake gibi oyunlar yordamsal programlama dilleri ile yazılmıştır.
Nesne tabanlı programlama yaklaşımı, doğadaki her şeyi nesne olarak algılar. Nesneleri, statik özellikleri ve dinamik metodları olan birimler olarak kabul eder. Her nesne kendi içine kapalı ama dışarı ile haberleşebilen bir program parçasıdır. Nesnelerin ayrıca, kalıtım (inheritance), ilişkili verilerin paketlenmesi (encapsulation), soyutlama (abstraction), çok biçimlilik (polymorphism) gibi davranışları vardır.
http://www.javaturk.org/modulerlik-nesne-merkezli-ve-procedurel-yaklasim-s/
http://bedriemir.com/JavaScript/b1/b1s6.htm
http://www.javaturk.org/farkli-dil-bakis-acilariyla-nesne-merkezli-programlama-oop-from-different-language-perspectives/
http://bedriemir.com/JavaScript/b1/b1s6.htm
http://www.javaturk.org/farkli-dil-bakis-acilariyla-nesne-merkezli-programlama-oop-from-different-language-perspectives/
Yorumlar
Yorum Gönder