All Is Ready | Teknoloji, Yazılım ve Daha Fazlası

Javascript’te OOP Yapısı Kullanabilir Mi?

İçindekiler

OOP Nedir? (Nesne Yönelimli Programlama)

Object-Oriented Programming (OOP), bir programın parçalarını, yani “nesneleri” oluşturmayı ve bu nesneler arasındaki ilişkileri tanımlayıp yönetmeyi amaçlayan bir programlama yapısıdır. OOP, bir programı, birbirlerine benzer özellikleri ve davranışları olan nesnelerden oluşan bir topluluğa böler ve bu nesneler arasındaki iletişimi tanımlar.

OOP’ta, nesneler özellikleri ve davranışları olan birimlerdir. Özellikler, nesnenin özelliklerini ve özellikleri tanımlar. Örneğin, bir “Kişi” nesnesi ad, soyad ve yaş gibi özelliklere sahip olabilir. Davranışlar ise, nesnenin yapabileceği eylemlerdir. Örneğin, “Kişi” nesnesi “adını söyle” gibi bir davranışa sahip olabilir.

Nesne Yönelimli Programlamada, nesneler “constructor” fonksiyonları kullanılarak oluşturulur. Bu fonksiyon, nesnenin özelliklerini ve davranışlarını tanımlayan bir “prototype” objesi içerir. Nesneler, constructor fonksiyonlarını çağırarak oluşturulur ve özelliklerine ve davranışlarına erişilebilir.

Nesne Yönelimli Programlamada, nesneler arasındaki ilişkiler de tanımlanır. Örneğin, bir “Öğrenci” nesnesi bir “Ders” nesnesine bağlı olabilir ve bu ilişki “öğrenci dersi alıyor” şeklinde tanımlanabilir. Bu ilişkiler sayesinde, bir nesnenin davranışları ve özellikleri diğer nesneler tarafından etkilenebilir ve bu nesneler arasında bir etkileşim oluşur.

OOP yapısında, nesneler arasında ilişkiler oluşturulmasının yanı sıra, “miras” (inheritance) adı verilen bir yapı da kullanılır. Bu yapı sayesinde, bir nesne bir başka nesnenin özelliklerini ve davranışlarını kalıtım yoluyla alabilir. Bu sayede, benzer özelliklere ve davranışlara sahip nesneler oluşturulabilir.

Nesne yönelimli programlama çok büyük bir başlıktır ve maalesef ki her detayına bu konuda deyinebilmemiz mümkün değil. O zaman Javascript’te OOP yapısını inceleyelim.

Javascript’te OOP Yapısı Kullanabilir Mi?

Javascript dilinde “nesne yönelimli programlama” (Object-Oriented Programming, OOP) yapısı kullanılabilir. OOP, bir programın parçalarını, yani “nesneleri” oluşturmayı ve bu nesneler arasındaki ilişkileri tanımlayıp yönetmeyi amaçlar.

Javascript dilinde nesneler, birbirlerine benzer özellikleri ve davranışları olan bir grup öğeyi temsil eder. Örneğin, bir “Kişi” nesnesi ad, soyad, yaş gibi özellikleri ve “adını söyle” gibi bir davranışı olabilir. Bu nesne, bir öğrencinin özelliklerini ve davranışlarını modellenebilir.

Javascript dilinde nesneler, bir “constructor” fonksiyonu kullanılarak oluşturulabilir. Bu fonksiyon, nesnenin özelliklerini ve davranışlarını tanımlayan bir “prototype” objesi içerir. Örneğin, aşağıdaki kod parçacığında “Kişi” nesnesi oluşturulmuştur:

function Kişi(ad, soyad, yaş) {
  this.ad = ad;
  this.soyad = soyad;
  this.yaş = yaş;
}

Kişi.prototype.adınıSöyle = function() {
  console.log(`Merhaba, benim adım ${this.ad} ${this.soyad}. ${this.yaş} yaşındayım.`);
};

const ali = new Kişi('Ali', 'Yılmaz', 30);
ali.adınıSöyle();  // "Merhaba, benim adım Ali Yılmaz. 30 yaşındayım."

Bu örnekte, “Kişi” constructor fonksiyonu ad, soyad ve yaş özelliklerini alan bir fonksiyondur. Daha sonra, “Kişi” nesnesinin prototype objesine “adınıSöyle” adında bir davranış eklenmiştir. Bu davranış, nesnenin ad, soyad ve yaş özelliklerini kullanarak bir cümle oluşturur ve bu cümleyi ekrana yazar. Daha sonra, “ali” adlı bir “Kişi” nesnesi oluşturulmuş ve “adınıSöyle” davranışı çağrılmıştır.