mirror of
https://github.com/jashkenas/coffeescript.git
synced 2022-11-09 12:23:24 -05:00
40 lines
No EOL
1.2 KiB
JavaScript
40 lines
No EOL
1.2 KiB
JavaScript
(function(){
|
|
var Animal, Horse, Snake, __a, __b, sam, tom;
|
|
Animal = function Animal() {
|
|
};
|
|
Animal.prototype.move = function move(meters) {
|
|
return alert(this.name + " moved " + meters + "m.");
|
|
};
|
|
Snake = function Snake(name) {
|
|
var __a;
|
|
__a = this.name = name;
|
|
return Snake === this.constructor ? this : __a;
|
|
};
|
|
__a = function(){};
|
|
__a.prototype = Animal.prototype;
|
|
Snake.__superClass__ = Animal.prototype;
|
|
Snake.prototype = new __a();
|
|
Snake.prototype.constructor = Snake;
|
|
Snake.prototype.move = function move() {
|
|
alert("Slithering...");
|
|
return Snake.__superClass__.move.call(this, 5);
|
|
};
|
|
Horse = function Horse(name) {
|
|
var __b;
|
|
__b = this.name = name;
|
|
return Horse === this.constructor ? this : __b;
|
|
};
|
|
__b = function(){};
|
|
__b.prototype = Animal.prototype;
|
|
Horse.__superClass__ = Animal.prototype;
|
|
Horse.prototype = new __b();
|
|
Horse.prototype.constructor = Horse;
|
|
Horse.prototype.move = function move() {
|
|
alert("Galloping...");
|
|
return Horse.__superClass__.move.call(this, 45);
|
|
};
|
|
sam = new Snake("Sammy the Python");
|
|
tom = new Horse("Tommy the Palomino");
|
|
sam.move();
|
|
tom.move();
|
|
})(); |