Введение

В компьютерном программировании посткондиция — это условие или предикат, который всегда должен быть истинным непосредственно после выполнения некоторого участка кода или после операции в формальной спецификации. Посткондиции иногда проверяются с помощью утверждений непосредственно в коде. Часто посткондиции просто включаются в документацию к соответствующему участку кода. Например: результат вычисления факториала всегда является целым числом и больше или равен 1. Следовательно, программа, вычисляющая факториал входного числа, должна удовлетворять посткондициям, согласно которым результат после вычисления является целым числом и больше или равен 1. Другой пример: программа, вычисляющая квадратный корень входного числа, может иметь посткондиции, согласно которым результат является числом и его квадрат равен входному числу.

Посткондиции в объектно-ориентированном программировании

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

Последующие условия и наследство

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