Главная /
PHP: ООП и классы /
Для расширения функциональности класса cEntity был разработан класс cEntityRendered. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содерж
Для расширения функциональности класса cEntity
был разработан класс cEntityRendered
. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Entity.php:
<?php
class cEntity
{
/*базовая функциональность*/
public $Exists = TRUE; protected $Complexity = 0; private $Name;
function __construct($_Complexity,$_Name)
{
if($_Complexity<=1)
{
$this->Exists = FALSE;
}
else
$this->Complexity = $_Complexity;
$this->Name = $_Name;
}
}
class cEntityRedered extends cEntity
{
/*расширенная функциональность*/
protected $RenderPath;
function __construct($_Complexity,$_Name,$_RenderPath)
{
___;
$this->RenderPath = $_RenderPath;
}
}
?>
Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
вопрос
Правильный ответ:
$this->__construct($_Complexity,$_Name)
$parent->__construct($_Complexity,$_Name)
parent::__construct($_Complexity,$_Name)
self:: __construct($_Complexity,$_Name)
решение поставленной задачи невозможно, так как поле с модификатором доступа
private
в родительском классе недоступно из производного класса Сложность вопроса
65
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Какой человек гуглит вот эти вопросы inuit? Это же не сложно
28 апр 2019
Аноним
Зачёт всё. Мчусь в клуб отмечать победу над тестом интут
22 авг 2017
Другие ответы на вопросы из темы программирование интуит.
- # Для преобразования объекта в строку (метод __toString() переопределен для корректного преобразования) следует:
- # Был разработан код класса, заменяющий стандартный тип Array. Код сценария, тестирующего работу нового класса: <?php class cNewArray { public $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(34); echo $foo.Num; ?> Укажите результат выполнения сценария:
- # Интерфейсы отличаются от абстрактных классов:
- # Файл main.php подключает файлы add1.php и add2.php с помощью директивы require. И add1.php, и add2.php подключают файл base.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивы include. Во время выполнения сценария main.php:
- # Сценарий PHP содержит следующий код: <?php class First { function __construct(){echo "First "; } } class Second extends First { function __construct(){echo "Second "; } } function __autoload($_class) { echo " !".$_class." ";} $a = new First; $b = new Second; $c = new Third; ?> Укажите результат выполнения сценария: