पाठ 29 / 38

extends से इनहेरिटेंस

एक क्लास के ऊपर दूसरी क्लास बनाना, और parent को कॉल करना।

extends और super

extends किसी subclass को parent से जोड़ता है; super.method() override के अंदर से parent का वर्ज़न बुलाता है।

class Animal {
  constructor(name) { this.name = name; }
  speak() { return `${this.name} makes a sound.`; }
}
class Dog extends Animal {
  speak() {
    return `${super.speak()} Specifically, a bark!`;
  }
}
console.log(new Dog("Rex").speak());

इनहेरिट क्यों करें

extends किसी subclass को parent के व्यवहार को दोहराने के बजाय पुनः-उपयोग और विस्तार करने देता है — पुनः-उपयोग की मूल OOP सोच।

super() पहले आना चाहिए

किसी subclass constructor में, this उपयोग करने से पहले super(...) बुलाएँ — JS इस नियम को सख़्ती से लागू करता है।