Главная /
PHP: ООП и классы /
Сценарий PHP содержит следующий код: <?php class cBar { private $Props = array("p1" => "23", "p2" => "12"); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Props[$_name] =
Сценарий PHP содержит следующий код:
<?php
class cBar
{
private $Props = array("p1" => "23", "p2" => "12");
function __construct ($_p1, $_p2)
{
$this->p1 = $_p1;
$this->p2 = $_p2;
}
function __set($_name, $_value) {$this->Props[$_name] = $_value;}
function __get($_name) {return $this->Props[$_name];}
}
$a = new cBar(1,2);
$a->p1 += 12;
$a->p2--;
echo $a->p1," ",$a->p2;
?>
Укажите результат выполнения сценария:
вопрос
Правильный ответ:
35 11
12 -1
13 1
1 2
сценарий не будет выполнен, т.к. код содержит ошибки
Сложность вопроса
50
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Большое спасибо за тесты по интуит.
20 мар 2019
Аноним
Благодарю за решебник по intiut'у.
02 май 2017
Другие ответы на вопросы из темы программирование интуит.
- # Если в классе определен конструктор без параметров, а при создании экземпляра параметры были указаны, то:
- # Был разработан код класса, заменяющий стандартный тип Array. Код сценария, тестирующего работу нового класса: <?php class cNewArray { private $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(2); echo $foo->Num; ?> Укажите результат выполнения сценария:
- # Для расширения функциональности класса 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; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
- # Сценарий PHP содержит следующий код: <?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "значение равно ".$this->Data;} } $foo = new cDerivative(3); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
- # Сценарий PHP содержит следующий код: <?php class MyClass { public $v =12; function __call($_name,$_args){$this->v--; echo " ".$this->v." ";} } $a = new MyClass(); echo $a->g()." ".$a->v." ".$a->f()." ".$a->v." ".$a->v." ".$a->v; ?> Укажите результат выполнения сценария: