wiki/content/20201008090613-inheritance.md

964 B
Raw Blame History

date id title
2020-10-08 3b88db70-6291-45e3-96da-3fb70a43222a JavaScript Class Inheritance

Example

Classes in JavaScript can inherit from each other

class Parent {
    constructor(name, parentChild = "Parent") {
        this.parentChild = parentChild
        this.name = name
    }

    speak(line) {
        console.log(`${this.parentChild} ${this.name} says '${line}'`)
    }
}

class Child extends Parent {
    constructor(name){
        super(name, "Child")
    }
}

let parent = new Parent("Father");
let child = new Child("Gregory");
parent.speak("Get off my lawn!");
child.speak("Make me old man!");

The use of the word extends indicates that this class shouldnt be directly based on the default Object prototype but on some other class. This is called the superclass. The derived class is the subclass. The superclass's constructor and methods can be called by appending super in front.