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)
Spagetti kodu da denilen programlama yaklaşımında; program yazılır ve bir kerede çalıştırılır. Programın akışı sırasında farklı kısımlara gidilmek istendiğinde etiketler oluşturulur,  "GoTo" deyimi kullanılarak (satır numarasına veya bir etikete atıf yapılarak) program akışı koşulsuz bir şekilde değiştirilebilir. Bu akış program içinde yukarıda veya aşağıda doğru olabilir. İzlenmesi son derece güç bir kod oluşur, bu nedenle bu yapıya spagetti kodu denilmektedir. Genellikle BASIC programlama dilinin stilini yansıtır. BASIC dışında COBOL ve FORTRAN da bu yaklaşıma uygun programlama dilleridir.

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/




Yorumlar

Bu blogdaki popüler yayınlar

Çocuklarımızı Yapay Zekaya yönlendirmek o kadar da zor değil!

Veri ambarları, OLTP ve OLAP