Ну... Это "особенности такие" :( Я по ним тоже походил...
Misha v.3 16.12.2002 17:06
Дело в слудеющем:
Ты создал дочерний класс. Затем вызываешь конструктор для создания экземпляра объекта дочернего класса. В конструкторе ты зовешь ^calendar:init[] (кстати, по моему лучше ^BASE:init[]...)
тут все хорошо. а далее начинается самое интересное...
далее из конструктора родительского метода вызывается метод @i18n[], который перекрыт в ребенке. в этом методе ты определяешь переменные, в том числе $calendar_month... но эта переменная хотя и имеет такое-же имя, как переменная в методе @i18n[] класса родителя инициализирует ДРУГУЮ переменную, про которую методы родительского класса ничего не знают :(
диагноз:
к конструкторе родительского метода тебе надо задекларировать ВСЕ переменные. Например, если у тебя будет какая-нить таблица, то ее тебе надо создать... В перекрытом методе ты будешь _наполнять_ ее, но определена она должна быть в каком-либо методе родительского класса...
Такие вот пирожки с котятами...