Class

An abstraction to creating Java-like classes in JavaScript.

var livingThings = Karma.Class({
  constructor: function() {},
 
  getAge: function() {
    return this.age;
  }
});
 
var Animal = Karma.Class({
  constructor: function(species, age){
    this.species = species;
    this.age = age;
  },
 
  getSpecies: function() {
    return this.species;
  }  
});
 
Animal.inherit(livingThings);
 
var bear = new Animal('bear', 10);
bear.getSpecies(); // 'bear'
bear.getAge(); // 10
 
Animal.add({
  modifyAge: function(age) { this.age = age; }
});
 
bear.modifyAge(20); 
bear.getAge(); // 20