UNPKG

classes

Version:

A classical inheritence model with support for mixins

36 lines (21 loc) 437 B
Class('Animal', { construct: function(name) { this.name = name; }, makeNoise: function(noise) { alert(noise); } }); Class.mixin('canFoo', { foo: function() { alert('Foo!'); } }); Class('Person').Extends('Animal').Uses('canFoo', { speak: function(sayWhat) { this.makeNoise(this, this.name + ' says: "' + sayWhat + '"'); } }); var james = new Person('James'); james.speak('Hello, World'); james.foo();