parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

вот короткий

egr 16.12.2002 17:04

не сомневаюсь что умеете, вот почище :)
Базовый класс:
#######
@CLASS
base_class

#######
# конструктор
@init[parameter]
^method1[]

#######
@method2[parameter]
^table.menu{...}
производный класс:
#######
@CLASS
child_class

#######
@USE
base_class.p

#######
@BASE
base_class

#######
# конструктор
@init[parameter]
^base_class:init[$parameter]

#######
@method1[parameter]
$table[...]
Некая переменная $table которая должна стать полем объекта, формируется в методе @method1 определяемом только в подклассе и затем этот метод вызывается в конструкторе, определенном в базовом классе и согласно новой фиче вызов конструктора из базового класса делается в конструкторе определяемом в подклассе ^base_class:init[$parameter]

при работе возникает ошибка:
(void) not a method or junction, can not call it
menu
...
ошибка возникает в строчке ^table.menu{...}

т.е. из метода нельзя обратиться к полю $table которое по идее должно быть у объекта, поскольку конструктор объекта вызывает тот метод, в котором это поле определяется.