|
|
|
|
|
by Raynos
5317 days ago
|
|
What your showing is ES3 OO sugar. The problem I have is that the notion of a constructor function goes against prototypical OO. In prototypical OO we just have objects and objects inherit from objects. there is no notion of a constructor function. Also note that pd.make returns an object rather then a function. It's simply a programming style I like, to think of my "class" object not as the constructor function but as the prototype object. Not to mention that `x.prototype.foo = ...` is ugly. var Animal = {
constructor: function () {
this.legs = legs;
},
speed: function () {
return this.legs * 10;
}
};
var Dog = pd.make(Animal, {
constructor: function (name) {
Animal.constructor.call(this, 4);
this.name = name;
},
speed: function () {
return Animal.speed.call(this) * 2;
}
});
|
|