オブジェクトリテラルを使ったクラス作成 - 応用クラスの作成 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()
|
|