JSFace | var Person = jsface.Class({
constructor: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = jsface.Class(Person, {
constructor: function(name) {
FrenchGuy.$super.call(this, name);
},
setAddress: function(city, street) {
FrenchGuy.$superp.setAddress.call(this, 'France', city, street);
}
});
var ParisLover = jsface.Class(FrenchGuy, {
constructor: function(name) {
ParisLover.$super.call(this, name);
},
setAddress: function(street) {
ParisLover.$superp.setAddress.call(this, 'Paris', street);
}
});
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new FrenchGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new ParisLover("Mary");
p3.setAddress("CH");
| ready |
my.Class | var Person = my.Class({
constructor: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = my.Class(Person, {
constructor: function(name) {
FrenchGuy.Super.call(this, name);
},
setAddress: function(city, street) {
FrenchGuy.Super.prototype.setAddress.call(this, 'France', city, street);
}
});
var ParisLover = my.Class(FrenchGuy, {
constructor: function(name) {
ParisLover.Super.call(this, name);
},
setAddress: function(street) {
ParisLover.Super.prototype.setAddress.call(this, 'Paris', street);
}
});
var p4 = new Person("John");
p4.setAddress("US", "MT", "CH");
var p5 = new FrenchGuy("Leo");
p5.setAddress("MT", "CH");
var p6 = new ParisLover("Mary");
p6.setAddress("CH");
| ready |
John Resig Class | var Person = JRClass.extend({
init: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = Person.extend({
init: function(name) {
this._super(name);
},
setAddress: function(city, street) {
this._super('France', city, street);
}
});
var ParisLover = FrenchGuy.extend({
init: function(name) {
this._super(name);
},
setAddress: function(street) {
this._super('Paris', street);
}
});
var p7 = new Person("John");
p7.setAddress("US", "MT", "CH");
var p8 = new FrenchGuy("Leo");
p8.setAddress("MT", "CH");
var p9 = new ParisLover("Mary");
p9.setAddress("CH");
| ready |
Klass | var Person = klass(function(name) {
this.name = name;
}).methods({
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = Person.extend(function(name) {}).methods({
setAddress: function(city, street) {
this.supr('France', city, street);
}
});
var ParisLover = FrenchGuy.extend(function(name) {}).methods({
setAddress: function(street) {
this.supr('Paris', street);
}
});
var p10 = new Person("John");
p10.setAddress("US", "MT", "CH");
var p11 = new FrenchGuy("Leo");
p11.setAddress("MT", "CH");
var p12 = new ParisLover("Mary");
p12.setAddress("CH");
| ready |
Classy | var Person = Classy.$extend({
__init__: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = Person.$extend({
__init__: function(name) {
this.$super(name);
},
setAddress: function(city, street) {
this.$super('France', city, street);
}
});
var ParisLover = FrenchGuy.$extend({
__init__: function(name) {
this.$super(name);
},
setAddress: function(street) {
this.$super('Paris', street);
}
});
var p13 = new Person("John");
p13.setAddress("US", "MT", "CH");
var p14 = new FrenchGuy("Leo");
p14.setAddress("MT", "CH");
var p15 = new ParisLover("Mary");
p15.setAddress("CH");
| ready |
PTClass | var Person = PTClass.create({
initialize: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var FrenchGuy = PTClass.create(Person, {
initialize: function($super, name) {
$super(name);
},
setAddress: function($super, city, street) {
$super('France', city, street);
}
});
var ParisLover = PTClass.create(FrenchGuy, {
initialize: function($super, name) {
$super(name);
},
setAddress: function($super, street) {
$super('Paris', street);
}
});
var p16 = new Person("John");
p16.setAddress("US", "MT", "CH");
var p17 = new FrenchGuy("Leo");
p17.setAddress("MT", "CH");
var p18 = new ParisLover("Mary");
p18.setAddress("CH");
| ready |
CoffeeScript Classes | var Person = (function() {
function Person(name) {
this.name = name;
}
Person.prototype.setAddress = function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
};
return Person;
})();
var FrenchGuy = (function(_super) {
__extends(FrenchGuy, _super);
function FrenchGuy(name) {
FrenchGuy.__super__.constructor.call(this, name);
}
FrenchGuy.prototype.setAddress = function(city, street) {
return FrenchGuy.__super__.setAddress.call(this, "France", city, street);
};
return FrenchGuy;
})(Person);
var ParisLover = (function(_super) {
__extends(ParisLover, _super);
function ParisLover(name) {
ParisLover.__super__.constructor.call(this, name);
}
ParisLover.prototype.setAddress = function(street) {
return ParisLover.__super__.setAddress.call(this, "Paris", street);
};
return ParisLover;
})(FrenchGuy);
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new FrenchGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new ParisLover("Mary");
p3.setAddress("CH");
| ready |
augment | var Person = Object.augment(function() {
this.setAddress = function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
};
return Person;
function Person(name) {
this.name = name;
}
});
var IndianGuy = Person.augment(function(Person, uber) {
var setAddress = uber.setAddress;
this.setAddress = function(city, street) {
setAddress.call(this, "India", city, street);
};
return IndianGuy;
function IndianGuy(name) {
Person.call(this, name);
}
});
var MumbaiLover = IndianGuy.augment(function(IndianGuy, uber) {
var setAddress = uber.setAddress;
this.setAddress = function(street) {
setAddress.call(this, "Mumbai", street);
};
return MumbaiLover;
function MumbaiLover(name) {
IndianGuy.call(this, name);
}
});
var p1 = new Person("Barack Obama");
p1.setAddress("USA", "Washington, D.C.", "Pennsylvania Avenue");
var p2 = new IndianGuy("Mahatma Gandhi");
p2.setAddress("Ahmedabad", "Ashram Road");
var p3 = new MumbaiLover("Aadit M Shah");
p3.setAddress("L.D. Ruparel Marg");
| ready |
Ext JS | Ext.define('Person', {
constructor: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
Ext.define('ChinaGuy', {
extend: 'Person',
constructor: function() {
this.callParent(arguments);
},
setAddress: function(city, street) {
this.callParent(['China', city, street]);
}
});
Ext.define('BeiJingLover', {
extend: 'ChinaGuy',
constructor: function(name) {
this.callParent(arguments);
},
setAddress: function(street) {
this.callParent(['BeiJing', street]);
}
});
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new ChinaGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new BeiJingLover("Mary");
p3.setAddress("CH");
| ready |
OxygenJS | var Person = Oxy.define({
constructor: function(name) {
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var ChinaGuy = Oxy.define({
extend: Person,
constructor: function() {
Person.call(this)
},
setAddress: function(city, street) {
ChinaGuy.$super.setAddress('China', city, street);
}
});
var BeiJingLover = Oxy.define({
extend: ChinaGuy,
constructor: function(name) {
ChinaGuy.call(this, name);
},
setAddress: function(street) {
BeiJingLover.$super.setAddress('BeiJing', street);
}
});
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new ChinaGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new BeiJingLover("Mary");
p3.setAddress("CH");
| ready |
OxygenJS(augment style) | var Person = Oxy.extend(Object, function() {
this.setAddress = function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
return Person;
function Person(name) {
this.name = name;
}
});
var ChinaGuy = Oxy.extend(Person, function(Person, parent) {
this.setAddress = function(city, street) {
parent.setAddress('China', city, street);
}
return ChinaGuy;
function ChinaGuy() {
Person.call(this)
}
});
var BeiJingLover = Oxy.extend(ChinaGuy, function(ChinaGuy, parent) {
this.setAddress = function(street) {
parent.setAddress('BeiJing', street);
}
return BeijingLover;
function BeijingLover(name) {
ChinaGuy.call(this, name);
}
});
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new ChinaGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new BeiJingLover("Mary");
p3.setAddress("CH");
| ready |
Vapor.js | var personProto = Person.prototype;
var personSetAddress = personProto.setAddress = function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
};
function Person(name) {
this.name = name;
}
var frenchProto = FrenchGuy.prototype = Object.create(personProto);
var frenchSetAddress = frenchProto.setAddress = function(city, street) {
personSetAddress.call(this, "France", city, street);
};
frenchProto.constructor = FrenchGuy;
function FrenchGuy(name) {
Person.call(this, name);
}
var parisProto = ParisLover.prototype = Object.create(frenchProto);
parisProto.setAddress = function(street) {
frenchSetAddress.call(this, "Paris", street);
};
parisProto.constructor = ParisLover;
function ParisLover(name) {
FrenchGuy.call(this, name);
}
var p1 = new Person("John");
p1.setAddress("US", "MT", "CH");
var p2 = new FrenchGuy("Leo");
p2.setAddress("MT", "CH");
var p3 = new ParisLover("Mary");
p3.setAddress("CH");
| ready |