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

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

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

Когда выполняется присваивание x := agent r, то переменная x должна принадлежать специальному типу, часто называемому функциональным, поскольку объектами этого типа являются функции и процедуры. В Eiffel этот тип задается классом ROUTINE и тремя его потомками – классами PROCEDURE, FUNCTION, PREDICATE. Какой из этих классов обозначает запросы, возвращающие тип BOOLEAN?

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

Варианты ответа
PROCEDURE
ROUTINE
FUNCTION
PREDICATE(Верный ответ)
Похожие вопросы
Когда выполняется присваивание x := agent r, то переменная x должна принадлежать специальному типу, часто называемому функциональным, поскольку объектами этого типа являются функции и процедуры. В Eiffel этот тип задается классом ROUTINE и тремя его потомками – классами PROCEDURE, FUNCTION, PREDICATE. Какой из этих классов обозначает запросы, за исключением запросов, возвращающих тип BOOLEAN?
Когда выполняется присваивание x := agent r, то переменная x должна принадлежать специальному типу, часто называемому функциональным, поскольку объектами этого типа являются функции и процедуры. В Eiffel этот тип задается классом ROUTINE и тремя его потомками – классами PROCEDURE, FUNCTION, PREDICATE. Какой из этих классов задает агентов, связанных с командами?
Какой метод наследуют классы PROCEDURE, FUNCTION, PREDICATE от родительского класса ROUTINE?
Пусть при повторном наследовании класс Р имеет метод М. Пусть у класса Р есть два наследника F и G, которые являются родительскими классами для класса S. В каких ситуациях у класса S будут существовать две версии метода М?
Пусть заданы классы 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. Какие утверждения являются несправедливыми?
Пусть p – сущность типа F. Динамическим кастингом или приведением типа называется конструкция (S) p, динамически изменяющая в период выполнения тип сущности на тип S. Динамический кастинг опасная операция. В языке Eiffel для безопасного применения динамического кастинга введена конструкция, называемая тестом объекта. Тест объекта – это булевское выражение следующего вида: attached (S) p as t. Выражение получает значение false, если тип объекта, присоединенного к p, не согласован с типом S. Выражение получает значение true, если сущность p присоединена к объекту, согласованному по типу с типом S. В этом случае в качестве побочного эффекта создается локальная переменная t типа S, к которой присоединяется соответствующий объект. Пусть тест объекта появляется как условие if оператора. Какие утверждения справедливы относительно области определения локальной переменной t?
Пусть класс Р имеет метод М. Пусть у класса Р есть два наследника F и G, которые являются родительскими классами для класса S. В каких ситуациях у класса S будет существовать две версии метода М?
Пусть p – сущность типа F. Динамическим кастингом или приведением типа называется конструкция (S) p, динамически изменяющая в период выполнения тип сущности на тип S. Динамический кастинг опасная операция. В языке Eiffel для безопасного применения динамического кастинга введена конструкция, называемая тестом объекта. Тест объекта – это булевское выражение следующего вида: attached (S) p as t. Выражение получает значение false, если тип объекта, присоединенного к p, не согласован с типом S. Выражение получает значение true, если сущность p присоединена к объекту, согласованному по типу с типом S. В этом случае в качестве побочного эффекта создается локальная переменная t типа S, к которой присоединяется соответствующий объект. Пусть тест объекта появляется как отрицание условия if оператора. Какие утверждения справедливы относительно области определения локальной переменной t?
Пусть присваивание x := agent N корректно выполняется в программе на Eiffel . Какие утверждения корректны относительно вызова x.call([y,z])?