Sobes.tech
Middle+

JavaScript'te hangi tür kalıtım kullanılır? Sınıflarda çoklu kalıtım var mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te prototip kalıtım kullanılır ve sınıfların (ES6) ortaya çıkmasıyla birlikte prototipler üzerinde sözdizimi şekeri haline gelir. JS'deki sınıflar tekli kalıtımı destekler, yani bir sınıf yalnızca bir ebeveynden kalıtım alabilir.

JavaScript'te çoklu kalıtım yoktur, ancak karışımlar (mixins) kullanılabilir — bu, çoklu kalıtımı taklit etmek için sınıfa metodlar ekleyen fonksiyonlardır.

Basit kalıtım örneği:

class Animal {
  speak() {
    console.log('Hayvan sesi');
  }
}

class Dog extends Animal {
  speak() {
    console.log('Hav!');
  }
}

const dog = new Dog();
dog.speak(); // Hav!

Karışım örneği:

const CanFly = Base => class extends Base {
  fly() {
    console.log('Uçmak');
  }
};

class Bird {}
class Eagle extends CanFly(Bird) {}

const eagle = new Eagle();
eagle.fly(); // Uçmak