Nesne Yönelimli Programlama (OOP)

Nesne yönelimli programlama (object orianted programing), programı parçalara ayırıp bu parçalar arasındaki ilişkiyi gerçek hayata uygun bir şekilde belirleyebildiğimiz modern bir programlama yaklaşımıdır. Bir insanı, arabayı veya gözlerinizi açıp dışarıya baktığınızda gördüğünüz herhangi bir nesneyi bu programlama yaklaşımı ile modelleyerek bilgisayar ortamına aktarabilirsiniz.

Nesne Yönelimli Programlamın Avantajları
  • Daha gerçekçi modeller oluşturulabilir.
  • Takım çalışmaları için elverişlidir.
  • Kodun okunabilirliğini ve yönetimini kolaylaştırır.
  • Programda değişiklik yapmak daha basit bir hal alır.

Nesne yönelimli programlamada bir nesne oluşturulmadan önce class (sınıf) oluşturulur. Sınıf, oluşturulacak nesnenin özellik ve davranışlarını içeren bir şablondur. Nesne (object) ise sınıftan üretilen bir örnektir. Bir sınıftan birden fazla nesne üretilebilir. Örneğin İnsan sınıfından Kerem ve Mert isminde farkı iki nesne üretilebilir. Sınıflar bellekte yer kaplamazken, nesnelerin her biri bellekte ayrı ayrı yer tutar.

C++, ile hayatımıza giren nesne yönelimli programlama yaklaşımı, günümüzde popüler olarak bilinen neredeyse tüm programlama dillerine adapte olmuştur. Nesne yönelimli programlamanın temelde 4 özelliği bulunur. Nesneye yönelik olan programlama dillerinin bu 4 özelliği birden sağlaması gerekir. Bu özelliklerden herhangi birini sağlamayan bir programlama dili nesneye yönelik bir dil olarak kabul edilmez.

Nesne Yönelimli Programlama Özeliikleri
  • Soyutlama (Abstraction)
  • Kapsülleme (Encapsulation)
  • Miras alma (Inheritance)
  • Çok biçimlilik (Polymorphism)

Soyutlama (Abstraction): Ayrıntıları dahil etmeden temel özelliklerin temsil edilmesidir. Örneğin bir bisiklet nesnesini modellenirken; rengini, modelini, tipini gibi temel özelliklerini ve frenleme, sürme, durma gibi davranışları tanımlanır.

Kapsülleme (Encapsulation): Kapsülleme, hangi özellik ve davranışın dışarıya sunulup sunulmayacağının belirlenmesidir. Dışarıdan erişilmesini istenmeyen üye “private” gibi bir erişim belirteci ile gizlenir.

Miras alma (Inheritance): Bir sınıfın özelliklerinin ve davranışlarının başka bir sınıfa aktarılmasıdır. Örneğin Hayvan ve Kedi isminde iki adet sınıf olsun. Kedi sınıfı, Hayvan sınıfındaki tüm özelliklerini içereceğinden Hayvan sınıfı Kedi sınıfına miras olarak aktarılır. Böylece Hayvan sınıfındaki özellikler Kedi sınıfındaki özellikler için de geçerli olur.

Çok biçimlilik (Polymorphism): Aynı davranışın farklı değerler ve farklı türler alarak farklı davranmasına denir. Örneğin Uçak ve Araba’yı tanımlayan iki sınıfımız olsun. Bu iki aracın da haraket davranışı vardır. Fakat araba karadan giderken, uçak havadan gitmektedir. Yani iki farklı nesne aynı olaya farklı şekilde karşılık vermektedir.

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir