Programlama

Nesne Yönelimli Programlama – Giriş

Nesne Yönelimli Programlama, en basit tabiriyle bir programlama yaklaşımıdır. Yazılımlar hayatımızı kolaylaştırmak adına yola çıktı ve ilk programlar yazılmaya başlandı. Yazılım sektörünün yeni yeni sivrilmeye başladığı bu yıllarda işlerin bu noktaya geleceği tabi ki tahmin edilmiyordu. Yıllar geçtikçe gelişen teknolojiye yazılım dünyası da ayak uydurdu. Bu gelişme daha büyük ve karmaşık yazılımların yazılmasına yol açtı. Gittikçe  büyüyen projeler, artan kod satırları vs. büyük problem oluşturmaya başladı. Bu karmaşanın en büyük sebebi kodların iç içe olması ve alt alta sıralı çalışma prensibiyle çalışmasıydı. Diğer ismiyle spaghetti kod. Bu durumun hangi kodun ne işe yaradığını anlamakta zorlandığımız noktasına gelmesiyle, işler çekilmez bir hal almaya başladı. Kodu yönetmek artık zorlaştı. Artan maliyet ve kritik hatalar da bu duruma eklenince yeni bir programlama yaklaşımı için arayışlar başladı.

İşte tam bu noktada, yazılım dünyamızın büyükleri olaya el attılar ve yeni bir programlama yaklaşımını ortaya attılar; Nesne Yönelimli Programlama.

Nesne Yönelimli Programlama (object oriented programming) yazılım geliştirme için büyük avantaj ve yarar sağladı. Kodların daha kolay yönetilmesi ve tekrar kullanılabilmesi hem zaman hem de maliyet tasarrufu yapmamızı sağladı.

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 90’lı yıllarda kullanılmaya başlandı. Günümüzde de birçok programlama dilinde kullanılıyor. Peki, tam olarak alamet-i farikası nedir? OOP’u gerçek hayatın programlamaya yansıması olarak da değerlendirebiliriz. Nesne yönelimli programlamada esas olan nesnedir. Hayatta kullandığımız birçok nesne var. Bilgisayar, TV, kitaplar, sandalye, araba vb. Bu nesnelerin özellikleri ve fonksiyonları vardır. Ayrıca bu nesneleri tekrar tekrar kullanabiliriz. Aynı şekilde yazdığımız kodlarında özellikleri(attributes) ve fonksiyonları(metot) bulunuyor. İşte görüldüğü gibi gerçek nesne ile yazılımdaki nesneler arasında fark yok. Nesne Yönelimli Programlama’nın faydalarından biri de işlerin küçük parçalar halinde halledilebilmesidir. Her iş için bir fonksiyon devreye girer ve bu fonksiyonlar diğerlerinden bağımsız olarak genişletilebilir ve değiştirilebilirler.

Şimdi aklımıza bir soru takılıyor. Peki, bu nesneleri nasıl oluşturacağız? Örneğin bir yemek yapacaksınız, yani bir nesne oluşturacaksınız. Bunun için bir tarife ihtiyacınız vardır. Tabi yemeğin lezzeti yani nesnenin kalitesi şu an konunun dışında.  Tarif olarak tanımladığımız bu yapıya OOP’ta sınıf (class) diyoruz. Şimdi sınıflara ufak bir giriş yapalım.

Sınıf

Nesneler içinde özellik (değişken) ve fonksiyon (metot) bulundurur. Değişken ve fonksiyonlar nesnenin üyeleri olarak adlandırılırlar. Bir nesneyi oluşturabilmek için bir sınıfa ihtiyacımız vardır. Sınıflar içinde nesnenin özelliklerini barındırırlar. Ufak bir örnek vermek gerekirse Araba adında bir sınıfımız var. Bu sınıfta model, yıl, renk gibi ortak özellikler(değişken) bulunur. Bu sınıftan otomobil diye bir nesne oluşturabiliriz. Yani sınıf bir kalıp görevi görmektedir. Arabanın çalışma, durma ve fren gibi işlemleri defonksiyonlardır. Buraya kadar anlaşılmayan bir nokta yok sanırım. Daha sonra sınıf yapısını daha detaylı bir şekilde inceleriz. Şimdilik bu kadarı yeterli sanıyorum.

nesne

nesne2

 

 

 

 

 

 

 

 

Özetlemek gerekirse Nesne Yönelimli Programlama‘nın 3 temel faydasını anlatmış olduk;

  • Bakım Kolaylığı
  • Genişletebilirlik
  • Yeniden Kullanabilirlik

Bu yazımızda Nesne Yönelimli Programlama’ya ufak bir giriş yapmış olduk. Şimdilik esenle kalın, kodunuz daim olsun…:)

Dün yaptığınız şey size hala çok iyi görünüyorsa , bugün yeterli değilsiniz demektir.  (Earle Wilson)

İstanbul’un amatör seyyahı. Kod yazmak hayat felsefesi. Android, Java, C# ve Javascript’le yakından, tüm teknoloji dünyasıyla uzaktan ilgileniyor. Drone meraklısı ama sahibi değil.