Главная /
PHP: ООП и классы /
Был разработан специализированный класс исключений, расширяющий информативность метода getFile(). Содержимое файла NewExc.php: <?php class eNewException extends Exception { function getFile() {return "Exception in: ".$this->file;} } try {throw new e
Был разработан специализированный класс исключений, расширяющий информативность метода getFile()
. Содержимое файла NewExc.php:
<?php
class eNewException extends Exception
{
function getFile()
{return "Exception in: ".$this->file;}
}
try {throw new eNewException("test");}
catch (Exception $e){echo $e->getFile();}
?>
Ожидалось, что результатом выполнения сценария станет строка "Exception in: NewExc.php", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
вопрос
Правильный ответ:
в производном классе не был определен конструктор
класс
Exception
не содержит поля file
типом аргумента блока
catch
следует указать производный класс, а не родительский
метод
getFile()
переопределить нельзя, т.к. он определен как final
Сложность вопроса
64
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Я завалил зачёт, почему я не углядел этот сайт с ответами с тестами intuit месяц назад
27 сен 2017
Аноним
Это очень намудрённый тест по интуиту.
14 авг 2017
Другие ответы на вопросы из темы программирование интуит.
- # Сценарий PHP содержит следующий код: <?php class cFoo { public function publ(){return "открытый";} public function priv(){return "закрытый";} } $foo = new cFoo(); echo $foo->priv()." ".$foo->publ(); ?> Укажите результат выполнения сценария:
- # Абстрактный метод объявляется с помощью ключевого слова
- # Сценарий PHP содержит следующий код: <?php abstract class cAbstractClass { abstract function f(); } $foo = new cAbstractClass; $foo->f(); ?> Укажите результат выполнения сценария:
- # Сценарий PHP содержит следующий код: <?php function __autoload($_class) { ___; } $foo = new class_MyTemplate; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему "class_", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
- # В классе определено одно свойство, имеющее модификатор доступа protected, и одно, имеющее модификатор доступа private. Для класса используется механизм итерации по умолчанию. Цикл, построенный на использовании foreach, даст доступ