У меня всё гораздо проще:
MyClass = Class( Parent, Constructor, prototype );
Вот такая запись:
MyClass = Class( Parent, function MyClass () {
this.a = 3;
}, {
method: function() {}
});
Аналогична вот такой:
MyClass = function MyClass () {
this.a = 3;
}
MyClass.prototype = {
method: function() {}
}
inherits( MyClass, Parent ); // самое простое наследование, которое можно найти в любом учебнике
Обычное сокращение синтаксиса, без изобретения всяких __construct__ (что это за херня вообще? Зачем эта дикая инкапсуляция?), просто возвращает констркутор.
Всяких super и другой ненужной фигни здесь нет, надо юзать apply и call. Тем более, при множественном наследовании нельзя с уверенностью сказать, где super а где не super.