Главная / PHP: ООП и классы / Для расширения функциональности класса cFunctional был разработан класс cFunctionalExtended. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код

Для расширения функциональности класса cFunctional был разработан класс cFunctionalExtended. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Functional.php: <?php class cFunctional { /*базовая функциональность*/ public $LastWarning; protected $Mode; private $TempFilename; function __construct($_Mode,$_TempFilename) { if($_Mode<=0) { $this->Mode = 0; $this->LastWarning = "Invalid mode, mode set to 0"; } else $this->Mode = $_Mode; $this->TempFilename = $_TempFilename; } } class cFunctionalExtended extends cFunctional { /*расширенная функциональность*/ protected $AdditionalData; function __construct($_Mode,$_TempFilename,$_AdditionalData) { ___; $this->AdditionalData = $_AdditionalData; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

вопрос

Правильный ответ:

$this->__construct($_Mode,$_TempFilename)
$parent->__construct($_Mode,$_TempFilename)
parent::__construct($_Mode,$_TempFilename)
self:: __construct($_Mode,$_TempFilename)
решение поставленной задачи невозможно, так как поле с модификатором доступа private в родительском классе недоступно из производного класса
Сложность вопроса
77
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень намудрённый тест intuit.
19 авг 2020
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.