このサイトについて

Classy - JavaScriptでPython風のクラスを

Classy - JavaScriptでPython風のクラスを

JavaScriptでPython風にクラスを定義できるClassyというのを発見した。

まず「<script type="text/javascript" src="classy.js"></script>」しておいて

var Animal = Class.$extend({
  __init__ : function(name, age) {
    this.name = name;
    this.age = age;
    this.health = 100;
  },

  die : function() {
    this.health = 0;
  },

  eat : function(what) {
    this.health += 5;
  }
});

というようにクラスを定義する。「__init__」って書くだけでワクワクしてくる:-D。エラーは出ないけど,インデントはあった方がいいね。

Animalはベースクラスなので,継承してサブクラスを定義する。

var Tiger = Animal.$extend({
  eat : function(animal) {
    this.$super(animal);
    animal.die();
  }
});

var Sheep = Animal.$extend({
  __init__ : function(name, age) {
    this.$super(name, age);
    this.shorn = false;
  }
});

インスタンスを作ってみよう。

var leo = Tiger("Leo", 3);
var molli = Sheep("Molli", 1);

羊のMolliは虎のLeoに食べられてしまいました。

leo.eat(molli);

これで,JavaScriptの開発中もPythonicになれる,かも:-)。

2010-08-27 04:53