Главная /
PHP: ООП и классы /
Сценарий PHP содержит следующий код: <?php class cFoo { public $a = "открытое1"; protected $b = "защищенное2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $foo = new cFoo(); $foo->a = "открытое2"; $foo->b = "защищенное2";
Сценарий PHP содержит следующий код:
<?php
class cFoo
{
public $a = "открытое1"; protected $b = "защищенное2";
function __set($_name,$_value){echo "|".$_name." = ".$_value."|";}
}
$foo = new cFoo();
$foo->a = "открытое2";
$foo->b = "защищенное2";
$foo->c = "несуществующее";
?>
Укажите результат выполнения сценария:
вопрос
Правильный ответ:
|a = "открытое2"||b = "защищенное2"||c = "несуществующее"|
|b = "защищенное2"||c = "несуществующее"|
|c = "несуществующее"|
пустая строка
сценарий не будет выполнен, т.к. код содержит ошибки
Сложность вопроса
80
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
спасибо
03 янв 2019
Аноним
Это очень легкий тест intuit.
02 май 2016
Другие ответы на вопросы из темы программирование интуит.
- # Если в классе определены два метода с одинаковыми именами и разными списками параметров:
- # Для расширения функциональности класса cExample был разработан класс cExampleAdvanced. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Example.php: <?php class cExample { /*базовая функциональность*/ public $OK; protected $LessonNum; private $ExampleString; function __construct($_LessonNum,$_ExampleString) { if($_LessonNum<1) { $this->LessonNum = 1; $this->OK = "Wrong lesson number, set to 1st"; } else $this->LessonNum = $_LessonNum; $this->ExampleString = $_ExampleString; } } class cExampleAdvanced extends cExample { /*расширенная функциональность*/ protected $Hints; function __construct($_LessonNum,$_ExampleString,$_Hints) { ___; $this->Hints = $_Hints; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
- # Сценарий PHP содержит следующий код: <?php class AClass { public $v =34; function __call($_name,$_args){$this->v--; echo " ".$this->v." ";} } $a = new AClass(); echo $a->d()." ".$a->v." ".$a->v." ".$a->v." ".$a->p()." ".$a->o(); ?> Укажите результат выполнения сценария:
- # Сценарий PHP содержит следующий код: <?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->OperationCount++; $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { $this->OperationCount++; return key($this->Contents); } public function next() { $this->OperationCount++; return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
- # Сценарий PHP содержит следующий код: <?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); $this->Contents[0]+="1"; } public function current() { return current($this->Contents); } public function key() { return key($this->Contents);} public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)].="2"; return ($this->current() !== false); } } $foo = new cFoo(array("1","2","3","4")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария: