Ring.js is a class system in JavaScript allowing multiple inheritance.
var Human = ring.create({
talk: function() {
return "hello";
},
});
var Spider = ring.create({
climb: function() {
return "climbing";
},
});
var SpiderMan = ring.create([Spider, Human], {
talk: function() {
return this.$super() + ", my name is Peter Parker";
}
});
var spiderman = new SpiderMan();
console.log(spiderman.talk());
Its advantages:
- Stop fighting against JavaScript prototype-based object oriented system. Use a class system like you would in Java, Python, or basically any well-known language.
- Available in the browser or in node.js. Also works with require.js.
- The inheritance system is inspired by Python, one of the best multiple inheritance system ever.
- Provides compatibility with other JavaScript class systems, like CoffeeScript or Backbone.
- Licensed under the MIT license.
- Damn, multiple inheritance just rocks!
To get started, read the tutorial.
There is also a FAQ available here.