ここは、ふぇりあ16歳が不定期に連載しているオンライン小説のページです。

VNIふぇりあ16歳へ


ゼロからわかる現代JavaScript

20.クラスの継承

クラスの継承とは何でしょう?

作ったクラスを元に新たに、クラス変数、メソッドを追加し
新たなクラスを作ることをいいます。

オブジェクト指向言語である、JavaScriptでもクラスの継承ができます。

その場合、新たなクラスを作り

call()

を使って元のクラスを継承します。

今回使用するソースコード
var aoi = new AoiTori2();
document.write("葵・トーリのスキル;<br>");
document.write(aoi.skill() + "に加えて" + aoi.skill2());

function AoiTori2() {
  var obj = this;
  //変数や、メソッドを追加
  obj.hobby2 = "料理";
  obj.skill2 = function () {
    return ("ゴッドモザイク");
  }
  //元のクラスを継承
  AoiTori.call(this);
}

//クラス
function AoiTori() {
  var obj = this;
  obj.name = "葵・トーリ";
  obj.hobby = "美少女ゲーム";
  obj.nickname;

  obj.getName = function () {
    return obj.name;
  }

  //get/setのセットのプロパティ
  obj.getNickName = function () {
    return obj.nickname;
  }
  //書き込み
  obj.setNickName = function (x) {
    obj.nickname = x;
  }
  //メソッド
  obj.skill = function () {
    return ("術式不明。自分の物を、他者に分け与えれるが、これ以上泣いたら死ぬ");
  }
}

クラスの継承とは、ゲームにおけるキャラクターのクラス(職業)と似たような概念です。

剣士→ナイト

とクラスチェンジした場合、元のクラスのスキルも継承されるという具合です。

そのためAoiTori2クラスは、オブジェクトからAoiToriクラスのメソッドを呼び出せます。

実行結果

コラム;

黒魔導士→魔人

でもいいかもしれません。

(C)著作権はふぇりあ16歳とお兄ちゃんにあります。
無断転載、盗用は禁止です。