class-js

0.0.2 • Public • Published

class-js - Simple OO Class factory


Tutorial

To create a new class: var Class = require('class-js'); var Car = Class.subclass();

You can subclass: var Lambo = Car.subclass();

To instantiate an object: var auto = Lambo.init();

You can declare instance methods when you define your subclass: var Animal = Class.subclass({ init: function (name) { this.name = name; }, introduce: function () { return "My name is " + this.name; } });

init is a special instance method that is invoked whenever you instantiate an object via Class.init(...).

You can add instance methods later on after you have defined your subclass: Animal.proto({ speak: function () { return this.noise; } });

All instance methods are inherited by subclasses and descendants: var Tiger = Animal.subclass({ init: function (name) { this._super(name); // this._super is a shortcut to the init method of the superclass (Animal) this.noise = "Growl"; } }); var cub = Tiger.init("Tony"); cub.speak(); // => "Growl"

You can define class methods via: Animal.aClassMethod = function () { return "hola"; };

Class methods are also inherited. Tiger.aClassMethod(); // => "hola"

You can access the class of an object: cub.klass === Tiger; // true

You can also access the superclass from the Class or instantiated Class object: Tiger.superclass === Animal; // true cub.superclass === Animal; // true

Tests

We use the expresso library for our testing. So, first install expresso: npm install expresso

To run tests: make test

Contributors

License

MIT License


Author

Brian Noguchi

Readme

Keywords

none

Package Sidebar

Install

npm i class-js

Weekly Downloads

0

Version

0.0.2

License

none

Last publish

Collaborators

  • bnoguchi