Constructor
new Class() → {FooTable.Class}
This base implementation does nothing except provide access to the
FooTable.Class#extend
method.
- See:
Returns:
- Type
- FooTable.Class
Methods
(static) extend(arg1, arg2) → {FooTable.Class}
Creates a new class that inherits from this class which in turn allows itself to be extended or if a name and function is supplied extends only that specific function on the class.
Parameters:
Name | Type | Description |
---|---|---|
arg1 |
object | string | An object containing any new methods/members to implement or the name of the method to extend. |
arg2 |
function | If the first argument is a method name then this is the new function to replace it with. |
Returns:
A new class that inherits from the base class.
- Type
- FooTable.Class
Example
var Person = FooTable.Class.extend({
construct: function(isDancing){
this.dancing = isDancing;
},
dance: function(){
return this.dancing;
}
});
var Ninja = Person.extend({
construct: function(){
this._super( false );
},
dance: function(){
// Call the inherited version of dance()
return this._super();
},
swingSword: function(){
return true;
}
});
var p = new Person(true);
p.dance(); // => true
var n = new Ninja();
n.dance(); // => false
n.swingSword(); // => true
// Should all be true
p instanceof Person && p instanceof FooTable.Class &&
n instanceof Ninja && n instanceof Person && n instanceof FooTable.Class