parser

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

 

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

фабрика объектов или виртуальный конструктор (virtual constructor)

Александр Петросян (PAF) 09.09.2003 18:30

так это называется по-хорошему.

такого синтаксиса нет, поскольку имена классов в конструкторе сейчас только константы.

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

а делается так:
$name[y]
^xxx_factory.create[$name]
где
@CLASS
xxx_factory

@create[class_name]
^switch($class_name){
   ^case[x]{$result[^x::create[]]}
   ^case[y]{$result[^y::create[]]}
   ^case[z]{$result[^z::create[]]}
}