Trying to make classical OOP
by finom
JavaScript
var _ = {
Class: function(options, terms) {
var static = [],
private = [],
protected = [],
public = [],
constructAvailable = {}
parentTerms;
if (options.inherits) {
parentTerms = options.inherits.___terms;
terms.construct = terms.construct.bind();
}
for (var key in terms) if (terms.hasOwnProperty(key)) {
switch (terms[key][0]) {
case 'static':
static.push(terms[key][1]);
break;
case 'private':
private.push(terms[key][1]);
break;
case 'protected':
protected.push(terms[key][1]);
break;
case 'public':
public.push(terms[key][1]);
break;
}
}
terms.construct = terms.construct.bind(available);
terms.construct.___terms = {
static: static,
protected: protected,
public: public
};
return terms.construct
console.log(static, private, protected, {});
}
}
Class1 = _.Class({
inherits: null
}, {
construct: function() {},
method1: ['static', function() {
alert('Class1 static')}],
method2: ['private', function() {
alert('Class1 private')}],
method3: ['protected', function() {
alert('Class1 protected')}],
method4: ['public', function() {
alert('Class1 public')}]
})