mirror of
https://github.com/alrayyes/wiki.git
synced 2024-12-01 15:26:23 +00:00
38 lines
947 B
Markdown
38 lines
947 B
Markdown
---
|
||
id: 3b88db70-6291-45e3-96da-3fb70a43222a
|
||
title: JavaScript Class Inheritance
|
||
---
|
||
|
||
# Example
|
||
|
||
Classes in JavaScript can inherit from each other
|
||
|
||
``` javascript
|
||
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 shouldn’t be
|
||
directly based on the default [Object](20200826201605-objects) 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.
|