Главная /
PHP: ООП и классы /
Чтобы сохранить доступность метода в производных классах, не запрещая его переопределение, следует:
Чтобы сохранить доступность метода в производных классах, не запрещая его переопределение, следует:
вопросПравильный ответ:
объявить метод как
protected
объявить метод как
public
объявить метод как
final
объявить метод как
closed
Сложность вопроса
85
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на 4. Спасибо за ответы
12 мар 2016
Аноним
Зачёт прошёл. Мчусь отмечать отмечать победу над тестом интут
18 янв 2016
Другие ответы на вопросы из темы программирование интуит.
- # Для расширения функциональности класса 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 interface iInterf { abstract function f (); } ___ { protected $Data; function __construct($_D){$this->Data = $_D;} } class cBar extends cFoo { function f (){echo $this->Data;} } $foo = new cBar("реализация интерфейса"); $foo->f (); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "реализация интерфейса":
- # С целью определить строку файла, на которой начинается определение некоторой функции, был разработан код, пример применения которого выглядит следующим образом: <?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции (или //включающий файл с определением) function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); echo "Определение функция ".$_name."() начинается на строке ".___; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
- # Сценарий PHP содержит следующий код: <?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $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 ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){ $this->OperationCount++; $this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) {unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] .= "1"; $foo["bar2"] .= "2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария: