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

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

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

При переопределении метода возможно и переопределение контракта. Как при переопределении контракта записывается новое предусловие, и каков его эффект?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
предусловие можно задать в форме require else new_pred, где new_pred – дополнительное условие, заданное потомком, расширяющее область возможных значений для входных данных метода(Верный ответ)
предусловие можно не задавать. В этом случае сохранится предусловие родителя(Верный ответ)
предусловие можно не задавать. В этом случае отменяется предусловие родителя
предусловие можно задать в форме require then new_pred, где new_pred – дополнительное условие, заданное потомком, сужающее область возможных значений для входных данных метода
Похожие вопросы
При переопределении метода возможно и переопределение контракта. Как при переопределении контракта записывается новое постусловие, и каков его эффект?
При переопределении метода возможно и переопределение контракта. Какие утверждения справедливы при переопределении контракта:
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано предусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно предусловия РР метода М в классе наследника?
Переопределение наследником метода, заданного родителем, должно делаться явно с использованием специального ключевого слова: redefine. Какие утверждения справедливы по отношению к этому термину?
В родительском классе Р задан эффективный метод М с предусловием "Быть пушистым" and "Быть белым". Наследник этого класса Р1 переопределил этот метод, задав соответственно предусловие: require else "Быть белым". Наследник этого класса Р2 переопределил этот метод, задав соответственно предусловие: require else "Быть пушистым". Наследник этого класса Р3 переопределил этот метод, задав соответственно предусловие: require else "Быть натуральным". Объект, передаваемый на вход методу М, обладает свойствами "Быть пушистым" and "Быть натуральным" and "Быть белым". Каково число реализаций метода М, которые могут применяться для обработки этого объекта?
Какие высказывания справедливы для таких понятий как переопределение и переобъявление методов?
В родительском классе Р задан эффективный метод М с предусловием "Быть пушистым" and "Быть белым". Наследник этого класса Р1 переопределил этот метод, задав соответственно предусловие: require else "Быть белым". Наследник этого класса Р2 переопределил этот метод, задав соответственно предусловие: require else "Быть пушистым".Наследник этого класса Р3 переопределил этот метод, задав соответственно предусловие: require else "Быть натуральным". Объект, передаваемый на вход методу М, обладает свойствами "Быть белым" and "Быть натуральным". Методы какого класса могут применяться для обработки этого объекта?
В родительском классе Р задан эффективный метод М с предусловием "Быть пушистым" and "Быть белым". Наследник этого класса Р1 переопределил этот метод, задав соответственно предусловие: require else "Быть белым". Наследник этого класса Р2 переопределил этот метод, задав соответственно предусловие: require else "Быть пушистым". Наследник этого класса Р3 переопределил этот метод, задав соответственно предусловие: require else "Быть натуральным". Объект, передаваемый на вход методу М, обладает свойствами "Быть пушистым" and "Быть натуральным". Методы какого класса могут применяться для обработки этого объекта?
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано постусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно постусловия РР метода М в классе наследника?
Если родитель задал реализацию метода, то наследник: