parser

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

 

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

я привык их декларировать

Misha v.3 19.12.2005 01:47

в противном случае в случае, когда вы будете создавать дочерний класс у вас может появится проблема с видимостью переменных.

например:
@CLASS
parent

@create[]
# я не деклалирую переменную, а просто описываю в комментарии: 
# да будет у меня переменная $a
...

# метод производит запись в переменную $a
@set[var]
$a($var)

# метод что-то делает с переменной $a
@print[]
=$a=
дочерний класс:
@CLASS
child

@BASE
parent

@create[]
^BASE:create[]


# в ребенке перекрыли метод, записывающий в $a
@set[var]
$a($var+1)
пытаемся использовать:
$obj1[^parent::create[]]
^obj1.set(1)
^obj1.print[]

$obj2[^child::create[]]
^obj2.set(1)
^obj2.print[]
код выведет =1= ==
в случае, если переменную объявить в parent.p/@declare[], и добавить в конструктор вызов ^declare[] - подобного не произойдет и выведется =1= =2=