aboutsummaryrefslogtreecommitdiff
path: root/samples/JavaScript/classes-old.js
diff options
context:
space:
mode:
Diffstat (limited to 'samples/JavaScript/classes-old.js')
-rw-r--r--samples/JavaScript/classes-old.js46
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);