En İyi Sorular
Zaman Çizelgesi
Sohbet
Bakış Açıları

Nesne tabanlı programlama dili

Vikipedi'den, özgür ansiklopediden

Remove ads

Nesne tabanlı programlama dili, yazılım geliştirirken Nesne (programlama) kavramını temel alan ve özellikle kapsülleme ilkesini destekleyen programlama dillerini tanımlar.[1] Ancak bu diller, kalıtım ve çok biçimlilik gibi özellikleri içermek zorunda değildir. Bu nedenle, tüm nesne yönelimli programlama dilleri aynı zamanda nesne tabanlıdır; ancak her nesne tabanlı dil, nesne yönelimli değildir.[2]

Bu ayrım özellikle yazılım geliştirme ilkeleri açısından önemlidir. Örneğin, SOLID ilkeleri yalnızca nesne yönelimli programlama bağlamında uygulanabilir; çünkü bu ilkeler, kalıtım ve çok biçimlilik gibi nesne yönelimli paradigmaların varlığını varsayar.[1] Nesne tabanlı ama nesne yönelimli olmayan dillerde bu ilkeleri doğrudan uygulamak mümkün değildir.[2]

Remove ads

Nesne yönelimli olan diller

Aşağıdaki diller nesne tabanlı olup aynı zamanda nesne yönelimlidir:[3]

Nesne yönelimli olmayan, ancak nesne tabanlı diller

Özetle
Bakış açısı

Aşağıdaki diller nesne kavramını ve sınıfları desteklemekle birlikte, tam anlamıyla nesne yönelimli değildir çünkü kalıtım gibi temel özellikleri eksiktir:[2]

Örnek

Aşağıda, JavaScript dilinde nesne tabanlı fakat kalıtım kullanılmayan basit bir örnek yer almaktadır:[4]

let araba = {
  marka: "Toyota",
  model: "Corolla",
  çalıştır: function() {
    console.log(this.marka + " çalıştı.");
  }
};

araba.çalıştır(); // Toyota çalıştı.

Bu örnekte nesne ve yöntem (metot) tanımı yapılmıştır; ancak kalıtım veya sınıf yapısı kullanılmadığı için nesne yönelimli değil, yalnızca nesne tabanlıdır.

Nesne yönelimli bir örnek (Python)

Aşağıda, aynı kavramların nesne yönelimli biçimde Python dilinde nasıl uygulandığını gösteren bir örnek verilmiştir:[5]

class Araba:
    def __init__(self, marka, model):
        self.marka = marka
        self.model = model

    def çalıştır(self):
        print(f"{self.marka} çalıştı.")

araba = Araba("Toyota", "Corolla")
araba.çalıştır()  # Toyota çalıştı.

Burada hem sınıf tanımı hem de nesne yaratımı yapılmış, yani kalıtım ve diğer OOP özellikleri için zemin hazırlanmıştır.

Remove ads

Kaynakça

Ayrıca bakınız

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads