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

VNIふぇりあ16歳へ


ゼロからわかる現代JavaScript

56.パターン「データークラス」

オブジェクト指向はいろいろな使い方をする事ができます。

前回の構造体風クラスに、プロパティ、メソッドを追加したもの。

今回使用するソースコード
//必要な分だけ生徒のオブジェクトを作る
var student1 = new student();

//情報を入力 プロパティに変更
student1.setName("御坂美琴");
student1.setSlill("エレクトロマスター");
student1.setLevel("LEVEL5");
student1.setHobby("ゲコ太集め");
student1.setSchool("常盤台中学校");

var student2 = new student();

//情報を入力 プロパティに変更
student2.setName("白井黒子");
student2.setSlill("テレポーター");
student2.setLevel("LEVEL5");
student2.setHobby("?");
student2.setSchool("常盤台中学校");

document.write("生徒のデーター表示<hr>");

//デーを表示 クラスメソッドに変更
student1.showdata(student1);
student1.showdata(student2);

//構造体のようなクラス
function student() {
  var obj = this;
  //クラス変数
  obj.name = null;
  obj.skill = null;
  obj.level = null;
  obj.hobby = null;
  obj.school = null;

  //get/setプロパティ
  obj.getName = function () {
    return obj.name;
  }
  obj.setName = function (x) {
    obj.name = x;
  }
  //get/setプロパティ
  obj.getSkill = function () {
    return obj.skill;
  }
  obj.setSlill = function (x) {
    obj.skill = x;
  }
  //get/setプロパティ
  obj.getLevel = function () {
    return obj.level;
  }
  obj.setLevel = function (x) {
    obj.level = x;
  }
  //get/setプロパティ
  obj.getHobby = function () {
   return obj.hobby;
  }
  obj.setHobby = function (x) {
    obj.hobby = x;
  }
  //get/setプロパティ
  obj.getSchool = function () {
    return obj.school;
  }
  obj.setSchool = function (x) {
    obj.school = x;
  }
  //データー表示用メソッド
  obj.showdata = function (x) {
    document.write(x.name + ":" + x.skill + x.level + "/趣味:" +
      x.hobby + "所属:" + x.school + "<br>");
  }
}

長いですが、使いかっては良くなりました。
通常はデータークラスはこのように使うのが一般的です。

実行結果

コラム:

白井黒子には趣味らしい趣味が見当たらないのは
お話の杓の長さの問題なのでしょうか。

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