Предварительное условие

редактировать

В компьютерном программировании предварительное условие - это условие или предикат, которое всегда должно выполняться непосредственно перед выполнением некоторого раздела. кода или перед операцией в формальной спецификации.

Если предусловие нарушено, действие раздела кода становится неопределенным и, таким образом, может или не может нести из своей предполагаемой работы. Безопасность проблемы могут возникнуть из-за неправильных предварительных условий.

Часто предварительные условия просто включаются в документацию затронутого раздела кода. Предварительные условия иногда тестируются с использованием guards или assertions внутри самого кода, и некоторые языки имеют для этого специальные синтаксические конструкции.

Например: факториал определен только для целых чисел, больших или равных нулю. Таким образом, программа, которая вычисляет факториал входного числа, должна иметь предварительные условия, что число должно быть целым и быть больше или равно нулю.

Содержание
  • 1 В объектно-ориентированном программировании
    • 1.1 Пример Eiffel
    • 1.2 Предварительные условия и наследование
  • 2 См. Также
  • 3 Ссылки
В объектно-ориентированном программировании

Предварительные условия в объектно-ориентированной разработке программного обеспечения являются неотъемлемой частью проектирования по контракту. Дизайн по контракту также включает понятия постусловия и инвариант класса.

. Предварительное условие для любой подпрограммы определяет любые ограничения на состояние объекта, которые необходимы для успешного выполнения. С точки зрения разработчика программы, это составляет часть контракта, выполняемую обычным вызывающим пользователем. Затем вызывающий должен убедиться, что предварительное условие выполняется до вызова подпрограммы. Вознаграждение за усилия вызывающего абонента выражается в постусловии.

вызываемой подпрограммы, пример

Подпрограмма в следующем примере, написанная на Eiffel, принимает в качестве аргумента целое число, которое должно быть допустимым значением для часа дня, т.е. е., с 0 по 23 включительно. Предварительное условие следует за ключевым словом require. Он указывает, что аргумент должен быть больше или равен нулю и меньше или равен 23. Тег «valid_argument:» описывает это условие предварительного условия и служит для его идентификации в случае нарушения предварительного условия во время выполнения.

set_hour (a_hour: INTEGER) - Установить для параметра hour значение ʻa_hour ', требуется допустимый_аргумент: 0 <= a_hour and a_hour <= 23 do hour := a_hour ensure hour_set: hour = a_hour end

Предварительные условия и наследование

При наличии наследования подпрограммы наследуются дочерними классами (подклассами) делаем это с учетом действующих предварительных условий. Это означает, что любые реализации или переопределения унаследованных подпрограмм также должны быть написаны в соответствии с их унаследованным контрактом. Предварительные условия могут быть изменены в переопределенных подпрограммах, но их можно только ослабить. То есть переопределенная программа может уменьшить обязательства клиента, но не увеличить их.

См. Также
Ссылки
Последняя правка сделана 2021-06-02 04:26:44
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте