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