diff options
Diffstat (limited to 'samples/JavaScript/classes-old.js')
| -rw-r--r-- | samples/JavaScript/classes-old.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/samples/JavaScript/classes-old.js b/samples/JavaScript/classes-old.js new file mode 100644 index 0000000..2e4353f --- /dev/null +++ b/samples/JavaScript/classes-old.js @@ -0,0 +1,46 @@ +(function() { + var Animal, Horse, Snake, sam, tom; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + Animal = (function() { + function Animal(name) { + this.name = name; + } + Animal.prototype.move = function(meters) { + return alert(this.name + " moved " + meters + "m."); + }; + return Animal; + })(); + Snake = (function() { + __extends(Snake, Animal); + function Snake() { + Snake.__super__.constructor.apply(this, arguments); + } + Snake.prototype.move = function() { + alert("Slithering..."); + return Snake.__super__.move.call(this, 5); + }; + return Snake; + })(); + Horse = (function() { + __extends(Horse, Animal); + function Horse() { + Horse.__super__.constructor.apply(this, arguments); + } + Horse.prototype.move = function() { + alert("Galloping..."); + return Horse.__super__.move.call(this, 45); + }; + return Horse; + })(); + sam = new Snake("Sammy the Python"); + tom = new Horse("Tommy the Palomino"); + sam.move(); + tom.move(); +}).call(this); |
