Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including ring with all npm packages installed. Try it out:

var ring = require("ring")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ring v2.2.3

Ring.js - JavaScript Class System with Multiple Inheritance


Build Status npm version

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();

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.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free