parser

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

 

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

Обычная инъекция зависимости (dependency injection)...

Sumo 17.06.2018 16:25

Отнаследоваться от класс1, переопределить в новом классе метод. Объект нового класса передать параметром в конструктор класс2 и положить в переменную. Использовать объект.

Основной принцип — зависимость должна прийти в конструктор снаружи.
@CLASS
class5

@BASE
class1

@method[]
  ...

@CLASS
class2

@create[aOptions]
  $self.dep[^if(def $aOptions.dep){$aOptions.dep}{^class1::create[]}]

@method4[]
   ^self.dep.method[]


....

$o[^class2::create[$.dep[^class5::create[]]]
^o.method4[]