JavaScript/Basic/クラス/継承

JavaScript/Basic/クラス/継承

クラスとすれば継承ができると嬉しい。

以前は非常に色々な方法で JS の継承は実装されてきた経緯があるが、 やっと決定版で出たという感じである。

基本

こうなる。

class Oya{
    constructor(){
        console.log("This is constructor.");
    }
}
class Ko extends Oya{
    constructor(){
        super();
    }
}
class Mago extends Ko{
    constructor(){
        super();
    }
}

スコープが関係しているなら話は複雑になりそうだが、JavaScript のクラスは全部むき出しなので、 あまり頭を使わなくてヨイ、直感的に受け継ぐというだけ。

constructor に関しては親のコンストラクタを呼び出すことが必須。それは super() という形で呼び出せる。

オーバーライド

同名メソッドを作れば親クラスのメソッドをオーバーライドできる。

オーバーライドされてしまった親のメソッドを使いたい場合は super キーワード経由で呼び出せる。

Tags

javascript/basic/class/extends.txt · 最終更新: 2020-03-24 10:14 by ore