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

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

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

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

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

Варианты ответа
ROUTINE
PROCEDURE
PREDICATE
FUNCTION(Верный ответ)
Похожие вопросы
Когда выполняется присваивание 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])?