Главная / Основы программирования / Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта дол

Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта должны быть инициализированы значениями, отличными от значений, задаваемых по умолчанию. Укажите корректное объяснение этого требования?

вопрос

Правильный ответ:

если инвариант нетривиален, то и все в классе должно быть нетривиально
это чисто синтаксическое ограничение языка Eiffel, содержательного смысла в нем нет
по определению инварианта класса, он должен быть истинен перед вызовом любого метода класса (за исключением процедур создания). Поэтому процедура создания, создающая объект должна гарантировать, что для рожденного ею объекта все инварианты класса выполняются. Процедура создания по умолчанию не может этого гарантировать для нетривиальных инвариантов класса
процедура создания по умолчанию запрещает использование инвариантов класса
Сложность вопроса
77
Сложность курса: Основы программирования
56
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Спасибо за помощь по интуит.
13 мар 2019
Аноним
Это очень простецкий тест по интуиту.
21 ноя 2015
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.