Я использую систему классов MooTools, и я хотел бы иметь возможность получить доступ к любому статическому члену определенного класса, не зная всей цепочки наследования. Например, если у меня есть ChildClass
, который расширяет BaseClass
и
BaseClass.foo = function() { /*...*/ }
Я бы хотел позвонить ChildClass.foo()
.
Для этого я подумываю изменить метод MooTools Class
следующим образом:
function Class(params)
// ...
// var newClass = ...
var parentClass = params.Extends;
if (parentClass) {
newClass.__proto__ = parentClass;
}
// ...
}
Это создаст цепочку прототипов каждого объекта класса для указания на его родительский класс.
Если статический член более высокого класса скрыт в более производном классе, пусть будет так.
Несмотря на использование устаревшего __proto__
, я на правильном пути? Кто-нибудь видит какие-либо явные проблемы?