изменить порядок вызова функций извне, не затрагивая основной наследуемый класс
Всех приветствую, проблема в том, что при наследовании этого класса и использовании метода generateAgreement, я вызываю цепочку методов в определенном порядке, могу ли я, не затрагивая наследуемый класс, изменить его цыпочку вызова в том классе, который наследует этот класс и использует этот метод?
Проблема номер 2, могу ли я, при наследовании этого класса и использовании метода generateAgreement, не вызывать определенную функцию, например $this->setClient(), но не меняя это в основном классе, а сделать это в классе который наследует основной класс, что можно сделать?
class KaskoLgt implements GenerateProductInterface
{
private $connection = 'cnn';
public function createAgreement($data)
{
$agreement = new ProductAgreementFacade($data, $this->connection);
$agreement->generateAgreement();
return $agreement;
}
}
class ProductAgreementFacade extends KiasInitialization
{
private $data;
private $connection;
public function __construct($data, $connection)
{
$this->connection = parent::__construct($connection);
$this->data = $data;
}
public function generateAgreement()
{
$this->setClient();
$this->setAgreement();
return $this->data['sum'];
}
private function setClient()
{
$subject = new Subject($this->connection);
$subject->getClientByIIN($this->data);
$subject->setSubjSmall($this->data);
$subject->setClientCentras($this->data);
$subject->setSubjectDocument($this->data);
}
private function setAgreement()
{
}
Источник: Stack Overflow на русском