Главная /
PHP: ООП и классы /
Для расширения функциональности класса cExample был разработан класс cExampleAdvanced. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Соде
Для расширения функциональности класса 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;
}
}
?>
Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
вопрос
Правильный ответ:
$this->__construct($_LessonNum,$_ExampleString)
$parent->__construct($_LessonNum,$_ExampleString)
parent::__construct($_LessonNum,$_ExampleString)
self:: __construct($_LessonNum,$_ExampleString)
решение поставленной задачи невозможно, так как поле с модификатором доступа
private
в родительском классе недоступно из производного класса Сложность вопроса
54
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Какой человек ищет эти вопросы по интуит? Это же очень простые ответы
04 окт 2020
Аноним
Экзамен сдан на отлично. лол
13 мар 2018
Другие ответы на вопросы из темы программирование интуит.
- # Файл main.php подключает файлы script1.php и script2.php с помощью директивы include (сначала первый, потом второй). Файл script1.php подключает файл basescript.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивы include, а script2.php - с помощью директивы include_once. Во время выполнения сценария main.php:
- # Сценарий 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 C { public $a = "public1"; private $b = "private2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new C(); $bar->a = "public2"; $bar->b = "private2"; $bar->c = "empty"; ?> Укажите результат выполнения сценария:
- # Сценарий 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() { 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 function a(){echo "c "; b(); echo "f ";} function b(){echo "d "; throw new Exception("test"); echo "e ";} echo "a "; try { echo "b "; a(); echo "g "; } catch (Exception $e) {echo "h ";} echo "i "; ?> Укажите результат выполнения сценария: