- JavaScriptはプロトタイプを利用して定義するとインスタンス化したオブジェクトから共通で利用可能になる.
- プロトタイプで定義したメンバーやメソッドをインスタンスレベルで上書きすると,インスタンスに定義されたことになり,インスタンスだけで完結することになる.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// クラスの生成 var Member = function(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; }; //インスタンス化 var mem = new Member('Hiroaki','Fukuda'); // プロトタイプでメソッドを追加 Member.prototype.getName = function() { return this.lastName + ' ' + this.firstName; }; // メソッドの呼び出し.後から追加しても呼び出すことができる document.writeln(mem.getName()); // 追加したメソッドと同じ名前でメソッドを追加.ただしこちらはインスタンスに追加 mem.getName = function() return "hoge"; } // メソッドの呼び出し document.writeln(mem.getName()); // hogeが出力 var mem2 = new Member('Keio','Taro'); document.writeln(mem2.getName()); // Keio Taroが出力 |