Skip to content

Instantly share code, notes, and snippets.

@JamesRyanATX
Created April 26, 2011 15:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save JamesRyanATX/942532 to your computer and use it in GitHub Desktop.
Save JamesRyanATX/942532 to your computer and use it in GitHub Desktop.
Classical Inheritance in JS
TinyOOP = { };
TinyOOP.Class = function(definition) {
var klass = function() {
if (typeof this.initialize !== 'undefined') this.initialize.apply(this, arguments);
}
for (key in TinyOOP.Class.Methods) { klass[key] = TinyOOP.Class.Methods[key]; }
for (key in definition) { klass.prototype[key] = definition[key]; }
return klass;
}
TinyOOP.Class.Methods = {
subclass: function(definition) {
var klass = TinyOOP.Class(this.prototype);
for (key in definition) { klass.prototype[key] = definition[key]; }
klass._super = this;
return klass;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment