prototype.js v1.6以降の継承
宣言が結構変わってた。
Prototype.js を使った JavaScript OOP 講座 #01 - IT戦記 が古くなってる。
方針
- Object.extend() じゃなくて $superを使いましょう。
- prototypeには極力触れない。prototype.jsに任せる。
Point = Class.create({ initialize:function(x, y){ this.x = x; this.y = y; } }); Point3D = Class.create( Point , { initialize:function($super, x, y, z){ $super(x, y); this.z = z; } }); p = new Point3D();//new じゃないと怒られる