Главная /
Основы программирования /
Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта дол
Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта должны быть инициализированы значениями, отличными от значений, задаваемых по умолчанию. Укажите корректное объяснение этого требования?
вопросПравильный ответ:
если инвариант нетривиален, то и все в классе должно быть нетривиально
это чисто синтаксическое ограничение языка Eiffel, содержательного смысла в нем нет
по определению инварианта класса, он должен быть истинен перед вызовом любого метода класса (за исключением процедур создания). Поэтому процедура создания, создающая объект должна гарантировать, что для рожденного ею объекта все инварианты класса выполняются. Процедура создания по умолчанию не может этого гарантировать для нетривиальных инвариантов класса
процедура создания по умолчанию запрещает использование инвариантов класса
Сложность вопроса
77
Сложность курса: Основы программирования
56
Оценить вопрос
Комментарии:
Аноним
Спасибо за помощь по интуит.
13 мар 2019
Аноним
Это очень простецкий тест по интуиту.
21 ноя 2015
Другие ответы на вопросы из темы программирование интуит.
- # Определим отношение "возможно является частью". А возможно является частью В означает, что А может быть, но не обязательно, составляющей частью B. Укажите высказывания, справедливые для отношения "возможно является частью".
- # Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?
- # Известно, что в огороде нет бузины, Вы – программист, а Петр программистом не является, а про дядьку в Киеве ничего не известно. Какое высказывание в соответствии с законами импликации является ложным?
- # В тексте класса LINE_BUILDING дано объявление fancy_line: LINE, задающее воображаемую линию метро. Предположим, что задано еще одно объявление - real_line: LINE. Какие утверждения справедливы для этих двух сущностей?
- # В классе POINT в предложении create заданы имена двух процедур создания – make_cartesian и make_polar, каждая из которых имеет два аргумента, позволяющие создать точку, задав декартовы или полярные ее координаты. Пусть объявлены три точки – point_A, point_B, point_C: POINT. Какие операторы, создающие точки, являются синтаксически корректными?