"var a1 = new My1()" делает так чтобы в a1 лежал "new My2()"? (понимаю что скорее всего никак, но мало ли...)
Пробовал в функции конструкции поменять this - "запрещено", менял в return - не помогло. Пишу класс-обманку и где результат должен быть класс-оригинал, но с подмененными "параметрами создания". Но проверка на имя класса все ломает...
Нет
Наследование по цепочке, вроде, никто не отменял. А какую проблему надо решить?
Класс в составе микро-фреймворка. Используется много раз в разных местах. Для отладки должен создать его КЛОН, который "встанет на его место" и будет вызываться другими. Но кое-какие параметры вызова конструктора будут массово подменяться на "отладочные" (игнорируя прошлые). Идеальный вариант - это когда конструктор не будет подделывать ВСЕ методы, а просто вернет ОРИГИНАЛ "предка". Вроде много лет назад видел что-то подобное. Типа хитрая подмена this в функции-конструкторе, или какая-та хитрая манипуляция с ним системными функциями...
Обсуждают сегодня