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