編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

オブジェクトリテラルを使ったクラス作成 - 応用

クラスの作成

var Animal = function (name, age) {
  var that = {};

  that.name    = name;
  that.age     = age;
  that.sayName = function () {
      alert("My name is " + this.name);
  }
   
  return that;
};

Animal()はコンストラクタであり、初期化処理後、オブジェクトリテラル(that)を返す。

インスタンスを作成・メソッドを利用

var a = Animal("Taro", 10);
a.sayName();

オブジェクトリテラルを使ったクラスのメリット

クラス内の変数・関数を隠蔽出来る。この例の場合、thatにageをセットしなければ、ageはプライベート変数になる。

継承

子クラスの作成

var Dog = function (name, age) {
   var that = Animal(name, age);

   that.sayAge = function () {
       alert("My age is " + this.age);
   }

   return that;
}

thatを(空のオブジェクトリテラルではなく)Animal()で初期化して、Animalの継承を実現している。

子クラスのインスタンスを作成・利用

var d = Dog("Jiro", 5);
d.sayName();
d.sayAge()
  • sayName()は親クラスで定義、sayAge()は子クラスで定義されている。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-09-18 (火) 07:57:47 (1889d)