記事表示

JavaScriptでクラス定義

書き方が色々あるけど、自分では以下のように書くとします。

/* クラスを定義 */
function Animal(name) {
  this.name = name;
}
Animal.prototype.eat = function() {
  document.write(this.name + ' : ぱくぱく<br />');
};

/* クラスを継承 */
function Dog(name) {
  this.name = name;
}
Dog.prototype = new Animal();
Dog.prototype.bark = function() {
  document.write(this.name + ' : わんわん<br />');
};

/* クラスを利用 */
pochi = new Dog('ポチ');
pochi.eat();
pochi.bark();

以前から書いている方法。一番見慣れているのでひとまずこれで。

prototype.js 利用時は以下のように書くとします。

/* クラスを定義 */
var Animal = Class.create();
Animal.prototype = {
  initialize: function(name) {
    this.name = name;
  },
  eat: function() {
    document.write(this.name + ' : ぱくぱく<br />');
  }
};

/* クラスを継承 */
var Dog = Class.create();
Dog.prototype = Object.extend(new Animal, {
  bark: function() {
    document.write(this.name + ' : わんわん<br />');
  }
});

/* クラスを利用 */
pochi = new Dog('ポチ');
pochi.eat();
pochi.bark();

クラスの継承は

子クラス.prototype = Object.extend(new 親クラス, { ~ });

としてみる。

class 子クラス extends 親クラス { ~ }

の書き方が(言語を問わなければ)一番見慣れているので、近い書き方にしてみた。

今後変えていくかもしれないけど。

ページ移動

トラックバックURL

  • http://www.favorite-labo.org/blog/trackback/44

トラックバック

  • トラックバックはまだありません。

コメント

  • コメントはまだありません。

コメント投稿

  • コメントを入力して投稿ボタンを押してください。
投稿フォーム
名前
Eメール
URL
コメント
投稿キー

投稿キーには以下の数値を半角で入力してください。(スパム対策)

投稿キー

ユーティリティ

2008年12月

- 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 27
28 29 30 31 - - -

ツールメニュー

メッセージ

匿名で一言送信できます。

送信フォーム
メッセージ

RSSリーダー

  • JavaScriptをONにすると、RSSリーダーが表示されます。

利用ツール