JSFace |
var JSFacePerson = jsface.Class({ constructor: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
var JSFaceFrenchGuy = jsface.Class(JSFacePerson, { constructor: function(name) { JSFaceFrenchGuy.$super.call(this, name); }, setAddress: function(city, street) { JSFaceFrenchGuy.$superp.setAddress.call(this, 'France', city, street); } });
var JSFaceParisLover = jsface.Class(JSFaceFrenchGuy, { constructor: function(name) { JSFaceParisLover.$super.call(this, name); }, setAddress: function(street) { JSFaceParisLover.$superp.setAddress.call(this, 'Paris', street); } });
var p1 = new JSFacePerson("John"); p1.setAddress("US", "MT", "CH");
var p2 = new JSFaceFrenchGuy("Leo"); p2.setAddress("MT", "CH");
var p3 = new JSFaceParisLover("Mary"); p3.setAddress("CH");
|
pending… |
my.Class |
var MyPerson = my.Class({ constructor: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
var MyFrenchGuy = my.Class(MyPerson, { constructor: function(name) { MyFrenchGuy.Super.call(this, name); }, setAddress: function(city, street) { MyFrenchGuy.Super.prototype.setAddress.call(this, 'France', city, street); } });
var MyParisLover = my.Class(MyFrenchGuy, { constructor: function(name) { MyParisLover.Super.call(this, name); }, setAddress: function(street) { MyParisLover.Super.prototype.setAddress.call(this, 'Paris', street); } });
var p4 = new MyPerson("John"); p4.setAddress("US", "MT", "CH");
var p5 = new MyFrenchGuy("Leo"); p5.setAddress("MT", "CH");
var p6 = new MyParisLover("Mary"); p6.setAddress("CH");
|
pending… |
John Resig Class |
var JRPerson = JRClass.extend({ init: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; }, sayHello: function() { console.log('I am ' + this.name + '. My address is ' + this.country + ', ' + this.city + ', ' + this.street + '.'); } });
var JRFrenchGuy = JRPerson.extend({ init: function(name) { this._super(name); }, setAddress: function(city, street) { this._super('France', city, street); } });
var JRParisLover = JRFrenchGuy.extend({ init: function(name) { this._super(name); }, setAddress: function(street) { this._super('Paris', street); } });
var p7 = new JRPerson("John"); p7.setAddress("US", "MT", "CH");
var p8 = new JRFrenchGuy("Leo"); p8.setAddress("MT", "CH");
var p9 = new JRParisLover("Mary"); p9.setAddress("CH");
|
pending… |
Klass |
var EnderPerson = klass(function(name) { this.name = name; }).methods({ setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
var EnderFrenchGuy = EnderPerson.extend(function(name) {}).methods({ setAddress: function(city, street) { this.supr('France', city, street); } });
var EnderParisLover = EnderFrenchGuy.extend(function(name) {}).methods({ setAddress: function(street) { this.supr('Paris', street); } });
var p10 = new EnderPerson("John"); p10.setAddress("US", "MT", "CH");
var p11 = new EnderFrenchGuy("Leo"); p11.setAddress("MT", "CH");
var p12 = new EnderParisLover("Mary"); p12.setAddress("CH");
|
pending… |
Classy |
var ClassyPerson = Classy.$extend({ __init__: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
var ClassyFrenchGuy = ClassyPerson.$extend({ __init__: function(name) { this.$super(name); }, setAddress: function(city, street) { this.$super('France', city, street); } });
var ClassyParisLover = ClassyFrenchGuy.$extend({ __init__: function(name) { this.$super(name); }, setAddress: function(street) { this.$super('Paris', street); } });
var p13 = new ClassyPerson("John"); p13.setAddress("US", "MT", "CH");
var p14 = new ClassyFrenchGuy("Leo"); p14.setAddress("MT", "CH");
var p15 = new ClassyParisLover("Mary"); p15.setAddress("CH");
|
pending… |
PTClass |
var PTClassPerson = PTClass.create({ initialize: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
var PTClassFrenchGuy = PTClass.create(PTClassPerson, { initialize: function($super, name) { $super(name); }, setAddress: function($super, city, street) { $super('France', city, street); } });
var PTClassParisLover = PTClass.create(PTClassFrenchGuy, { initialize: function($super, name) { $super(name); }, setAddress: function($super, street) { $super('Paris', street); } });
var p16 = new PTClassPerson("John"); p16.setAddress("US", "MT", "CH");
var p17 = new PTClassFrenchGuy("Leo"); p17.setAddress("MT", "CH");
var p18 = new PTClassParisLover("Mary"); p18.setAddress("CH");
|
pending… |
CoffeeScript Classes |
var CoffeePerson = (function() {
function CoffeePerson(name) { this.name = name; }
CoffeePerson.prototype.setAddress = function(country, city, street) { this.country = country; this.city = city; this.street = street; };
return CoffeePerson;
})();
var CoffeeFrenchGuy = (function(_super) {
__extends(CoffeeFrenchGuy, _super);
function CoffeeFrenchGuy(name) { CoffeeFrenchGuy.__super__.constructor.call(this, name); }
CoffeeFrenchGuy.prototype.setAddress = function(city, street) { return CoffeeFrenchGuy.__super__.setAddress.call(this, "France", city, street); };
return CoffeeFrenchGuy;
})(CoffeePerson);
var CoffeeParisLover = (function(_super) {
__extends(CoffeeParisLover, _super);
function CoffeeParisLover(name) { CoffeeParisLover.__super__.constructor.call(this, name); }
CoffeeParisLover.prototype.setAddress = function(street) { return CoffeeParisLover.__super__.setAddress.call(this, "Paris", street); };
return CoffeeParisLover;
})(CoffeeFrenchGuy);
var p1 = new CoffeePerson("John"); p1.setAddress("US", "MT", "CH");
var p2 = new CoffeeFrenchGuy("Leo"); p2.setAddress("MT", "CH");
var p3 = new CoffeeParisLover("Mary"); p3.setAddress("CH");
|
pending… |
augment |
var AugmentPerson = Object.augment(function() { this.setAddress = function(country, city, street) { this.country = country; this.city = city; this.street = street; };
return AugmentPerson;
function AugmentPerson(name) { this.name = name; } });
var AugmentFrenchGuy = AugmentPerson.augment(function(AugmentPerson, uber) { var setAddress = uber.setAddress;
this.setAddress = function(city, street) { setAddress.call(this, "France", city, street); };
return AugmentFrenchGuy;
function AugmentFrenchGuy(name) { AugmentPerson.call(this, name); } });
var AugmentParisLover = AugmentFrenchGuy.augment(function(AugmentFrenchGuy, uber) { var setAddress = uber.setAddress;
this.setAddress = function(street) { setAddress.call(this, "Paris", street); };
return AugmentParisLover;
function AugmentParisLover(name) { AugmentFrenchGuy.call(this, name); } });
var p1 = new AugmentPerson("John"); p1.setAddress("US", "MT", "CH");
var p2 = new AugmentFrenchGuy("Leo"); p2.setAddress("MT", "CH");
var p3 = new AugmentParisLover("Mary"); p3.setAddress("CH");
|
pending… |
Ext JS |
Ext.define('ExtPerson', { constructor: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } });
Ext.define('ExtChinaGuy', { extend: 'ExtPerson', constructor: function() { this.callParent(arguments); }, setAddress: function(city, street) { this.callParent(['China', city, street]); } });
Ext.define('ExtBeiJingLover', { extend: 'ExtChinaGuy', constructor: function(name) { this.callParent(arguments); }, setAddress: function(street) { this.callParent(['BeiJing', street]); } });
var p1 = new ExtPerson("John"); p1.setAddress("US", "MT", "CH");
var p2 = new ExtChinaGuy("Leo"); p2.setAddress("MT", "CH");
var p3 = new ExtBeiJingLover("Mary"); p3.setAddress("CH");
|
pending… |
Oxygen.js |
var Person = Oxy.extend(function() { return { constructor: function(name) { this.name = name; }, setAddress: function(country, city, street) { this.country = country; this.city = city; this.street = street; } } });
var ChinaGuy = Oxy.extend(Person, function(Person, parent) { return { constructor: function() { Person.call(this) }, setAddress: function(city, street) { parent.setAddress('China', city, street); } } });
var BeiJingLover = Oxy.extend(ChinaGuy, function(ChinaGuy, parent) { return { constructor: function(name) { ChinaGuy.call(this, name); }, setAddress: function(street) { parent.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");
|
pending… |
Oxygen.js(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");
|
pending… |
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");
|
pending… |
0 comments