Tipo...
class ArmaDecorator implements Arma {
protected $arma;
public function __construct(Arma $arma) {
$this->arma = $arma;
}
/** @override */
public function montar() {
$this->arma->montar();
}
}
Essa classe decorator, aponta o método montar
para o objeto principal $this->arma->montar()
...
Mas, esse método montar
, é justamente o método que estou decorando, então faz sentido.
Mas, e se a arma tivesse mais um método calibrar
, por exemplo, que não vai fazer parte do Decorator?