Nesne Yönelimli Programlama Nedir?

Nesne Yönelimli Programlama Nedir?

Yazılım öğrenmeye yeni başlayanların karşısına çıkan ve oldukça karmaşık görünen Nesne Yönelimli Programlama kavramını bu yazımızda açıklamaya çalışacağız. Peki Nesne Yönelimli Programlama Nedir? gelin birlikte araştıralım.

Herhangi bir sistemde değişik özellikler taşıyan çok sayıda nesne vardır. Bu nesneler ortak özelliklere sahip oldukları gibi ortak yeteneklere sahip olabilirler. Ya da tam aksi de olabilr farklı özellik de taşıyabilirler.

Örneğin bir evde yaşan gıda mühendisliğinde okuyan Aysun ve kimya bölümünde okuyan Tuğçe adında iki üniversite öğrencisini düşünelim. Bunların en temel ortak özelliği ikisinde kız olmasıdır. Daha başka ortak özellik düşünecek olursak üniversite öğrencisi olmalarıdır. Ancak farklı özellikleri de vardır, okudukları bölümler aynı değildir. Aşağıdaki şemadanda görüleceği üzere farklı işler yapabilmektedirler. Ayrıca her ikisi de yemek ve temizlik yapabilmelerine rağmen bunları yaparken izledikleri yöntem birbirinden farklı olabilir. Bu örneği nesneye dayalı programlamaya taşıyacak olursak Aysun ve Tuğçe birer nesneye karşılık gelir ve yaptıkları işlerde fonksiyonlara karşılık gelir.

Gerçek dünyadan alınan bir problemi oluşturan nesneler gerçek dünyadaki yapılarına benzer bir şekilde bilgisayarda modellenerek çözümler araştırılmaktadır.

Nesnelerin yapıları iki bölümden oluşmaktadır:

  1. Nitelikler(özellikler ya da durum bilgileri),
  2. Davranışlar(yetenekler)

 nesne%20y%C3%B6nelimli%20programlama

Nesne belirlenmiş işlevleri yerine getiren bunun içinde çeşitli fonksiyonlar içeren bir yapıdır.

 

 Nesne içinde değişkenleri (üyeler) bulunur. En önemli ise işlevi yapacak fonksiyonları da içermesidir. Bu özelliğe PAKETLEME (ENCAPSULATION) denir. Ayrıca paketlenecek fonksiyonların nasıl bir işlev göstereceği belirtilmeksizin sadece nasıl kullanılacağının belirtilmesi zorunludur ve buna SOYUTLAMA (ABSTRACTION) denir. Paketleme ve soyutlama bir nesneyi belli etmek için yeterli olan iki temel özelliktir.

 spor%20salonu%20nesnesi

Burada salon kondisyon, salon zayıflama ve salon vücut geliştirme “SPOR SALONU SAHİBİ ” nesnesinden türeyen nesnelerdir.

 

 Temel özellikleri aynı olmasına rağmen kendilerine ait farklı yöntemlere sahiptirler. Burada SALON PLATES olarak türetilmiş nesne temel nesnenin özeliklerini taşımasına rağmen farklı bir işleve sahiptir.

Sonuç olarak nesnelerle ilgili temel 3 özellik göze çarpar.

  1. Türetilen nesneler temel nesnenin özelliklerini koruyup devam ettirir ve kullanırlar.
  2. Türetilen nesneler türedikleri nesnenin özelliklerini değiştirebilirler.
  3. Türeyen nesneler yeni özellik kazanabilir veya mevcut özelliklerini kaybedebilirler.

Bir sistem içersinde bir nesneden türemiş olan veya farklı nesneler bulunabilir. Bu nesnelerin ortak özellikleri olabilir ve bu özellikler aynı isimle anılır. Bunun sonucunda benzer isimde fakat farklı nesnelerin üyesi olan üyeler ortaya çıkar. Bu duruma BENZERLİK POLYMORPHISM denir.
Bir nesnenin üye değişken ve fonksiyonlarının diğer nesneler tarafından doğrudan kullanılmasının istenmediği durumlarda koruma olayı gereklidir. Bu da 4 farklı durum olarak ifade edilebilir.

Özel: Bir üye bilgi veya fonksiyonun sadece üyesi olduğu nesne içinde kullanılması (PRIVATE)
Korumalı : Bir üyenin nesne dışında o nesneden türeyen nesnelerce kullanılması (PROTECTED)
Ortak: Bir üyenin tüm nesneler tarafından ortaklaşa kullanılması. (PUBLIC)
Arkadaş: Bir nesnenin bir başka nesneyi arkadaş ilan ederek üyelerinin tümünün bu nesne tarafından kullanılmasına izin vermesi (FRIEND)

Nesneye dayalı programlama diğer önemli özellik DİNAMİK BAĞLAMA dır. Bu özellik ile türeyen bir nesnenin adresini türediği nesnelerden birinin gösterici değişkenine atamak mümkündür. Bu durumda adresi atanan nesne, göstericisine atandığı taban nesne gibi davranır. Bunu örnekleyecek olursak. Bir okula spor salonu sorumlu alınacaktır. Bu kadroya (GÖSTERİCİ DEĞİŞKEN) SPOR SALON SAHİBİNDEN başka diğer kişilerde olabilir. Bu kişiler farklı alanlarda uzmanlaşmış olmalarına rağmen temel görevin gerektirdikleri işleri yapabilmektedirler. Bu kadroya SALON ZAYIFLAMA adıyla belirtilen kişinin alındığını varsayalım. Bu kişiden kondisyon yaptırması istendiğinde SPOR SALON SAHİBİ nin yaptığı yöntemle bu işi yapacaktır çünkü ondan miras almıştır. Ama ZAYIFLAMA ile ilgili bir iş istendiğinde kendi özelliği olan diyetle zayıflatma metodunu kullanacaktır. Örneğin bu işe PLATES olarak adlandırılan kişi alınsaydı sadece miras yoluyla aldığı işleri yapabilecek PLATES yaptırmayacaktı çünkü kadroda belirtilen işte bu yer almamakta.

Bu şekilde bir nesnenin taban nesnesinin göstericisine atanarak taban nesne özelliklerini göstermesine DİNAMİK BAĞLAMA denir. Bu özellik oldukça önemlidir. Algoritmaların uygulanmasında veya aynı özellikli farklı karakterli nesnelerin tek işlemle ele alınmasında bir hayli kullanışlıdır. Ancak bu özellik için türetme işleminin olmuş olması gerektiğine dikkat ediniz.

Türeme özelliğinin bir diğer biçimi de bir nesnenin birden fazla nesne tarafından türetilmiş olmasıdır. Buna çok tabanlılık veya çoktan türeme (MULTI INHERITANCE) adı verilir. Burada nesne türediği tüm nesnelerin özelliklerini gösterir. Çok tabanlı nesnelerin kullanımı dinamik bağlamada görülür. Bir diğer önemli kavramda programların içinde belirli kalıpların hazırlanarak yeniden kullanılabilmesidir. Bu özelliğe ŞABLON (TEMPLATE) adı verilir. Şablonlar yazılan bir kodun farklı benzer durumlar için kullanılmasını ifade eder.


Yorumlar0

Henüz Yorum Yapılmamış.Yorumlarınızı bekliyoruz

Yorumlarınızı Bekliyoruz


Yorum Yazın

Yorum Yapın