Nesneye Yönelik Programlama(OOP) Nedir?

Tahmini Okuma Süresi: 2 dakika

Nesneye yönelik programlama, gerçek hayatta var olan olguları programlamaya dönüştürme yaklaşımıdır. Bu yaklaşımı hiyerarşi düzeni ile tanımlayabiliriz. Bu hiyerarşiyi sınıflar ve nesneler oluşturur.

Örneğin bir proje üzerine çalışan bir ekip varsayalım. Bu ekip nesneye dayalı programlamada sınıfa karşılık gelir. Bu ekipteki her bir üye ise nesneyi temsil eder. Bu ekipteki her bir üyenin (yani nesnenin), diğer nesneler ile olan ilişkisi ve organize çalışması nesneye dayalı programlama kavramını ortaya çıkarmaktadır.

Sınıf ve nesne kavramlarını daha detaylı inceleyelim.

Nesne Nedir?

Gördüğünüz her şey aslında birer nesnedir. Şu an kullandığınız bir cihaz veya çalıştığınız masa, evinizin penceresi, dışarıdaki arabalar, sokaktaki kedi vs. nesneye örnektir.

Anlayacağımız üzere nesneler somut bir kavramdır aslında. Şimdilik bu bilgiyi de aklımızın bir köşesinde tutalım.

Nesneler iki önemli özelliğe sahiptir.Bunlar durum ve davranıştır. Peki bu kavramlarla neyi kastediyoruz? Bu kavramların daha iyi anlaşılması için yine örneklerle gideceğim.

Bir telefon düşünelim. Bu telefonun rengi, fiyatı, markası, modeli, boyutları, işlemcisi, hafızası gibi özellikleri onun durumunu ifade eder. Buna attribute (özellik) de diyebiliriz. Yine bu telefonun çağrı yapması, resim çekmesi, ses kaydı alması, parlaklık ayarını değiştirmesi gibi eylemleri ise onun davranışını belirtir.Buradan şöyle bir tanım çıkartabiliriz.

Programlamada durumu ve davranışı olan her şey bir nesne olarak tanımlanmaktadır.

Telefon örneğimizin durumlarındaki özellikler, nesneye dayalı programlama tarafında, değişkenler ile hafızada saklanır. Yani nesnemizin durumlarını değişkenler ile tanımlıyoruz.

Davranışlar ise metotları temsil etmekteir. Yani nesnemize ait bir fonksiyon da diyebiliriz.

Şimdi sınıf ve nesne kavramını ele alalım.

Sınıf Nedir?

O kadar nesne dedik, peki bu nesne dediğimiz kavram neyin parçasıdır? Bunu hiç konuşmadık. Sınıf ve nesne ilişkisini tanımlamak için etle tırnak gibiler diyebiliriz. Çünkü sınıflar, nesnelerden oluşur. Nesnelerin durum ve davranışlarını sınıflar saklar.


Bu örneğimizde nesne olarak örnek bir araba üzerinden gidelim. Bu nesnemizin durumları nedir, onları tanımlayalım.

*Renk,

*Fiyat,

*Marka,

*Beygir gücü,

*Yakıt tipi,

*Ağırlık

*Model,

 

Örneğimizdeki arabanın,

*Hızlanma,

*Yavaşlama,

*Vites değiştirme,

gibi hareketlerinin kontrol edilmesi de araba nesnemizin davranışlarını yani metotlarımızı temsil eder.


İşte sınıf kavramı burada ortaya çıkmaktadır. Bu durum ve davranışları tuttuğumuz yer sınıftır. Bu sınıfı araba sınıfı araba sınıfı olarak tanımlayabilriz ve bu araba sınıfından istediğimiz sayıda araba üretebiliriz. Bu ürettiğimiz nesneleri programlamada instance (yani örnek) olarak adlandırırız. Bu araba sınıfından oluşturduğumuz her araba nesnesi,farklı değerlerden (rengi,modeli gibi) oluşsa da, yukarıda bahsettiğimiz durum ve davranışlara sahiptir.

/*Bir sınıftan istediğimiz kadar sayıda nesne üretebiliriz.*/

Konuya genel bir özet getirecek olursak;

Sınıf, soyut bir veri tipidini ifade etmektedirObject(yani nesne) ise onun somutlaşmış bir varlığıdır. Sınıflarda, nesnelerde olması gereken özellikler, (durum ve davranışlar) bulunmaktadır. Bu sınıftan bir instance (yani örnek) oluşturursak buna nesne denir. Bu sayede bir sınıftan istediğimiz sayıda nesne üretebiliriz.

Beytullah Aksoy

Değişim çılgını bir fütürist.

Bir cevap yazın

tr_TRTürkçe
en_USEnglish tr_TRTürkçe