База ответов ИНТУИТ

Объектно-ориентированное программирование и программная инженерия

<<- Назад к вопросам

Пусть p – сущность типа F. Динамическим кастингом или приведением типа называется конструкция (S) p, динамически изменяющая в период выполнения тип сущности на тип S. Динамический кастинг опасная операция. В языке Eiffel для безопасного применения динамического кастинга введена конструкция, называемая тестом объекта. Тест объекта – это булевское выражение следующего вида: attached (S) p as t. Выражение получает значение false, если тип объекта, присоединенного к p, не согласован с типом S. Выражение получает значение true, если сущность p присоединена к объекту, согласованному по типу с типом S. В этом случае в качестве побочного эффекта создается локальная переменная t типа S, к которой присоединяется соответствующий объект. Пусть тест объекта появляется как отрицание условия if оператора. Какие утверждения справедливы относительно области определения локальной переменной t?

(Отметьте один правильный вариант ответа.)

Варианты ответа
переменную t можно использовать как в then, так и в else ветви оператора if
переменную t можно использовать только в then ветви оператора if
переменную t можно использовать только в else ветви оператора if(Верный ответ)
переменную t можно использовать в операторах, следующих за оператором if
Похожие вопросы
Пусть p – сущность типа F. Динамическим кастингом или приведением типа называется конструкция (S) p, динамически изменяющая в период выполнения тип сущности на тип S. Динамический кастинг опасная операция. В языке Eiffel для безопасного применения динамического кастинга введена конструкция, называемая тестом объекта. Тест объекта – это булевское выражение следующего вида: attached (S) p as t. Выражение получает значение false, если тип объекта, присоединенного к p, не согласован с типом S. Выражение получает значение true, если сущность p присоединена к объекту, согласованному по типу с типом S. В этом случае в качестве побочного эффекта создается локальная переменная t типа S, к которой присоединяется соответствующий объект. Пусть тест объекта появляется как условие if оператора. Какие утверждения справедливы относительно области определения локальной переменной t?
Пусть p – сущность типа F. Динамическим кастингом или приведением типа называется конструкция (S) p, динамически изменяющая в период выполнения тип сущности на тип S. Какие утверждения справедливы относительно динамического кастинга?
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано постусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно постусловия РР метода М в классе наследника?
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано предусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно предусловия РР метода М в классе наследника?
Пусть при повторном наследовании класс Р имеет метод М. Пусть у класса Р есть два наследника F и G, которые являются родительскими классами для класса S. В каких ситуациях у класса S будут существовать две версии метода М?
Пусть заданы классы P и F – родители класса S, а M – метод с одним и тем же именем в классах P и F. Какие утверждения в этой ситуации являются справедливыми?
Пусть класс Р имеет метод М. Пусть у класса Р есть два наследника F и G, которые являются родительскими классами для класса S. В каких ситуациях у класса S будет существовать две версии метода М?
Когда выполняется присваивание x := agent r, то переменная x должна принадлежать специальному типу, часто называемому функциональным, поскольку объектами этого типа являются функции и процедуры. В Eiffel этот тип задается классом ROUTINE и тремя его потомками – классами PROCEDURE, FUNCTION, PREDICATE. Какой из этих классов обозначает запросы, возвращающие тип BOOLEAN?
Пусть заданы классы P, F, M, S, D, где P – родитель классов F и M, класс F – родитель S, а M – родитель D. Пусть созданы объекты этих классов – op, of, om, os, od. Какие утверждения являются несправедливыми?
Пусть заданы классы P, F, M, S, D, где P – родитель классов F и M, класс F – родитель S, а M – родитель D. Пусть созданы объекты этих классов – op, of, om, os, od. Какие утверждения являются несправедливыми?