lostyazilim
tr.link

OOP(Object Oriented Programming) - Nesne Yönelimli Programlama

2 Mesajlar 2.983 Okunma
acebozum
tr.link

Heredod Heredod WM Aracı Kullanıcı
  • Üyelik 17.11.2010
  • Yaş/Cinsiyet 1 / 1
  • Meslek 1
  • Konum 1
  • Ad Soyad H** A**
  • Mesajlar 30
  • Beğeniler 8 / 11
  • Ticaret 0, (%0)
OOP, yazılımların makine diliyle(0, 1) geliştirilmesinden kaynaklanan problemlerin üstesinden gelebilmek için geliştirilmiş bir programlama tekniğidir. OOP un bu kısa tanımını yaptıktan sonra derinlere inmeden nedir bu problemler bunları maddeler halinde inceleyelim.

Zaman Kaybı
Bir projede değiştirmek istediğiniz bir işlev olduğu zaman binlerce kod arasından işlev ekleyeceğiniz yeri bulmak veya işlevini değiştireceğiniz yeri bulmak epey bir vakit alacaktır. Birde bu proje, gelişim gösteren ve sürekli özellikleri artan bir projeyse kaybedeceğimiz vakti siz değerlendirin.



Kod Karmaşıklığı
Yazılımımız için gerekli olan bütün kodların ardı ardına oluştursak bu bir kod karmaşıklığına yol açmaz mı? Mesela bir satranç oyunu geliştiriyorsunuz. Satrancın taşlarını hareket ettiren, satrancın hamlelerini hesaplayan, satranç taşının hamle yapacağı yerdeki taşı yeme kodlarını vb. alt alta kodlarsak bu kod karmaşıklığına neden olacaktır. Buda doğal olarak ilk madde de belirttiğim zaman kaybına da neden olacaktır.



Kodların Tekrar Tekrar Kullanımı
Aynı proje içinde sıklıkla kullanacağınız kodlar olacaktır. Örneğin her veritabanına bağlanmak istediğinizde veritabanına bağlanma komutlarını yazmak sizce ne kadar mantıklı ? Bu dosya boyutlarının büyümesine de neden olacaktır. Bununla da kalmayıp ilk iki maddede belirttiğim zaman kaybına ve kod karmaşıklığına neden olacaktır.



Performans
Bir komut çalıştırdığınızda o sayfa içindeki bütün kodların çalıştığını düşündüğümüzde bu bir performans sorununa neden olur. Halbuki sadece istediğimiz kod bloklarının çalışması programlama için daha mantıklıdır.



Yukarıda ki maddeleri incelediğimizde, maddelerin aslında birbirleri ile ilişkili bir problemler sorunu meydana getirdiğini görüyoruz. İşte OOP bu tür sorunların üstesinden gelebilmek için zorunlu olarak geliştirilmiştir. Zorunlu diyorum çünkü; teknolojinin ilerlemesiyle birlikte kullandığımız her şey değişiyor ve bizimde bununla doğru orantılı olarak ihtiyaçlarımızda artıyor. Örneğin; bundan on sene önceki internet hızımız o şartlarda bize yeterliydi ama şimdi o zamanlardaki internet hızı bize yeterli gelir mi ? Gelmez !!! İşte OOP ta ihtiyaçlarımızı karşılayabilmek için zorunlu olarak geliştirilmiştir.

OOP, Alan Kay tarafından geliştirilmiş olup reel hayatın örnek alınmasıyla geliştirilmiştir. Alan Kay, OOP’u 6 temel özellikle ifade etmiştir.

Her şey birer nesnedir
OOP’un reel hayattan örnek alındığı söyledik. Reel hayatta gördüğümüz, dokunduğumuz, hissettiğimiz her şey birer nesne veya başka bir tabirle objedir.



Her nesnenin bir sınıfı vardır
Bu nesnenin bir otomobil olduğunu düşünelim. Bu nesne gerçek hayatta birşeyin kategorisi, sınıfı olabilir. Otomobil bir Araç kategorisidir değil mi? Aynı zamanda kamyonda, kamyonette, otobüste Araç sınıfına girmektedir.



Sınıf nesnelerin ortak davranışlarını ifade eder
Yukarıdaki örnekten devam edecek olursak Kamyonun, kamyonetin, otobüsün ve otomobilin aynı sınıfa ait olduğunu belirtmiştik. Aynı sınıfa ait olması bu araçların ortak özelliklerinin olduğunu göstermektedir. Her aracın ortak özelliklerini sıralarsak direksiyonu, vitesi, radyosu vb. özellikleri vardır. İşte Alan Kay, bu ortak özellikleri, birer sınıf olarak değerlendirir.



Her nesnenin bir özelliği vardır
Yukarıda ortak özelliklerinden bahsettik ama birde bu araçların kendine has özellikleri vardır. Örneğin bir otomobil dört tekerlekliyken, bir otobüs 6 tekerleklidir. İşte buda her nesnenin kendine has özellikleridir.



Nesneler birbirleriyle iletişimde bulunabilirler
Nesneler düşünebildiğimiz, özellik ve davranışıyla betimleyebildiğimiz her şeyi ifade edebilir. Nesneler bu davranışlarını başka bir nesneye aktararak iletişim sağlayabilir ve haberleşebilirler. Örneğin; telefon ve telefonun arama yapması birer nesnedir. Telefonun arama yapabilmesi için aranacak olan telefon numarasının arama yapan nesneye gönderilmesi gerekli. İşte bu nesnelerin birbirleri ile iletişim kurabilmesi demektir.



OOP programlama ilk nesneye gönderilen mesajla başlar
Nesnelerin birbirleriyle haberleşebildiğini söyledik. O zaman bu nesnelerin birbirleri ile haberleşmesi için ilk nesneye mesaj göndermek gerekli. İşte bu nesneye mesaj gönderirken bütün nesneler birbirleriyle mesajlaşma içine girerler. Buda OOP programlamanın hayata geçtiğine dair göstergedir.



Kısacası OOP, ayrı ayrı sınıf yapılarından oluşan hiyerarşik bir yapıdır. Bu yapılara istediğimiz zaman müdahale edebilir ve değiştirebiliriz. Ayrıca OOP yapısındaki tekrar kullanabilme özelliği ile zamandan ve maliyetten tasarruf yapabiliriz.
 

 

wmaraci
reklam

Minare Minare Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 09.12.2010
  • Yaş/Cinsiyet 38 /
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 639
  • Beğeniler 0 / 4
  • Ticaret 1, (%100)
Çok güzel bir bilgi oldu benim için. Teşekkürler.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al