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

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

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

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

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

Варианты ответа
постусловие можно задать в форме ensure then new_post, где new_post – дополнительное условие, заданное потомком, сужающее область возможных значений для результатов метода(Верный ответ)
постусловие можно задать в форме ensure else new_post, где new_post – дополнительное условие, заданное потомком, расширяющее область возможных значений для результатов метода
постусловие можно не задавать. В этом случае отменяется постусловие родителя
постусловие можно не задавать. В этом случае сохранится постусловие родителя(Верный ответ)
Похожие вопросы
При переопределении метода возможно и переопределение контракта. Как при переопределении контракта записывается новое предусловие, и каков его эффект?
При переопределении метода возможно и переопределение контракта. Какие утверждения справедливы при переопределении контракта:
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано постусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно постусловия РР метода М в классе наследника?
Переопределение наследником метода, заданного родителем, должно делаться явно с использованием специального ключевого слова: redefine. Какие утверждения справедливы по отношению к этому термину?
В классе Р задан эффективный метод М с постусловием "Т > 10". Наследник этого класса Р1 переопределил этот метод, задав соответственно постусловие: ensure then "Т > 20". Класс Р2 - наследник Р1 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 50". Класс Р3 - наследник Р2 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 100". Клиенту требуется вызвать метод, обеспечивающий на выходе истинность условия: "T > 40". Каково число реализаций метода М, которые могут гарантировать истинность выполнения этого условия?
В классе Р задан эффективный метод М с постусловием "Т > 10". Наследник этого класса Р1 переопределил этот метод, задав соответственно постусловие: ensure then "Т > 20". Класс Р2 - наследник Р1 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 50". Класс Р3 - наследник Р2 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 100". Клиенту требуется вызвать метод, обеспечивающий на выходе истинность условия: "T > 70". Методы каких классов могут гарантировать истинность выполнения этого условия?
В классе Р задан эффективный метод М с постусловием "Т > 10". Наследник этого класса Р1 переопределил этот метод, задав соответственно постусловие: ensure then "Т > 20". Класс Р2 - наследник Р1 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 50". Класс Р3 - наследник Р2 в свою очередь переопределил этот метод, задав соответственно постусловие: ensure then "Т > 100". Клиенту требуется вызвать метод, обеспечивающий на выходе истинность условия: "T > 15". Методы каких классов могут гарантировать истинность выполнения этого условия?
Какие высказывания справедливы для таких понятий как переопределение и переобъявление методов?
Пусть наследник класса переопределил метод М родителя, задав например реализацию отложенного метода М. В контракте метода М у родителя задано предусловие Р, которое должно выполняться при вызове М. Какие утверждения справедливы относительно предусловия РР метода М в классе наследника?
Если родитель задал реализацию метода, то наследник: