2006-05-16
JavaScript OOP におけるクラス定義方法
クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。
ちなみに、以下のすべての例はこのクラスを定義しています。
ちなみに、僕は一番下の書き方ですね。
皆さんはどのようにプログラミングしていますか?
プロトタイプを使わない。クロージャを使う。
// プロトタイプを使わない。
// クロージャを使う。
function Item(price) {
this.showPrice = function() {
alert(price);
};
}
プロトタイプを使わない。クロージャを使わない。
// プロトタイプを使わない。
// クロージャを使わない。
function Item(price) {
this.price = price;
this.showPrice = function() {
alert(this.price);
};
}
プロトタイプを使わない。クロージャを使わない。メソッドを外に出す。
// プロトタイプを使わない。
// クロージャを使わない。
// メソッドを外に出す。
function Item(price) {
this.price = price;
this.showPrice = Item_showPrice;
}
function Item_showPrice() {
alert(this.price);
};
プロトタイプにメソッドを追加する。
// プロトタイプにメソッドを追加する。
function Item(price) {
this.price = price
}
Item.prototype.showPrice = function() {
alert(this.price);
};
プロトタイプにメソッドを追加する。コンストラクタをプロトタイプに実装する。
// プロトタイプにメソッドを追加する。
// コンストラクタを Prototype に実装する。
function Item() {
this.initialize.apply(this, arguments);
}
Item.prototype.initialize = function(price) {
this.price = price;
};
Item.prototype.showPrice = function() {
alert(this.price);
};
プロトタイプを上書きする。
// プロトタイプを上書きする。
function Item(price) {
this.price = price
}
Item.prototype = {
showPrice: function() {
alert(this.price);
}
};
プロトタイプを上書きする。コンストラクタをプロトタイプに実装する。
// プロトタイプを上書きする。
// コンストラクタを Prototype に実装する。
function Item() {
this.initialize.apply(this, arguments);
}
Item.prototype = {
initialize: function(price) {
this.price = price;
},
showPrice: function() {
alert(this.price);
}
};
トラックバック - http://d.hatena.ne.jp/amachang/20060516/1147778600
- http://d.hatena.ne.jp/capoe/20060519
- http://d.hatena.ne.jp/hnagoya/20060519
- shoemoney
- Umbrelloスタイル
- http://d.hatena.ne.jp/futa23/20070503
- http://d.hatena.ne.jp/livingproof/20070721
- public static void main - JavaScriptのイベントリスナーの話
- とみたの日記 - javascriptのクラスの作成とtimer
- 技術屋さんの道は険しい - 本格的にJavaScriptで製造してるんだが、...
- 半人前SEのいろいろ日記 - thisについて
- 孤高 - javascript
- a geek - JavaScriptは怖くない
- 5次元あたま - prototypeを理解する 後編
- vivid memo - オブジェクト指向な JavaScript
- vivid memo - 1246905141* オブジェクト指向な JavaScript
- 今日もコーディング日和 - javascriptクラス入門
リンク元
- 327 http://www.hatena.ne.jp/
- 250 http://b.hatena.ne.jp/
- 139 http://b.hatena.ne.jp/hotentry
- 135 http://reader.livedoor.com/reader/
- 34 http://d.hatena.ne.jp/
- 19 http://d.hatena.ne.jp/lami/20060418/1145362585
- 19 http://del.icio.us/popular/
- 18 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-39,GGLG:ja&q=javascript+document+上の要素
- 17 http://d.hatena.ne.jp/higayasuo/
- 17 http://news.qooqle.jp/

