~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ DD7CE3D9A0E60D0468E2602FB545D29E__1640204460 ✰
Заголовок документа оригинал.:
✰ Postcondition - Wikipedia ✰
Заголовок документа перевод.:
✰ Постусловие — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Postcondition ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/dd/9e/dd7ce3d9a0e60d0468e2602fb545d29e.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/dd/9e/dd7ce3d9a0e60d0468e2602fb545d29e__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:47:39 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 22 December 2021, at 23:21 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Постусловие — Википедия Jump to content

Постусловие

Из Википедии, бесплатной энциклопедии

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

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

Постусловия в объектно-ориентированном программировании [ править ]

В некоторых подходах к проектированию программного обеспечения постусловия, наряду с предусловиями и инвариантами классов , являются компонентами метода создания программного обеспечения по контракту .

Постусловием для любой процедуры является объявление свойств, которые гарантируются после завершения выполнения процедуры. [1] Что касается контракта подпрограммы, постусловие дает гарантию потенциальным вызывающим сторонам, что в случаях, когда подпрограмма вызывается в состоянии, в котором выполняется ее предусловие , свойства, объявленные постусловием, гарантированы.

Пример Эйфелевой [ править ]

Следующий пример, написанный на Eiffel, устанавливает значение атрибута класса. hour на основе аргумента, предоставленного вызывающим абонентом a_hour. Постусловие следует за ключевым словом ensure. В этом примере постусловие гарантирует, что в случаях, когда предусловие выполняется (т. е. когда a_hour представляет действительный час дня), что после выполнения set_hour, атрибут класса hour будет иметь то же значение, что и a_hour. Тег " hour_set:" описывает это предложение постусловия и служит для его идентификации в случае нарушения постусловия во время выполнения.

    set_hour   (  a_hour  :   INTEGER  ) 
             — Установите для `hour' значение `a_hour' 
         require 
             valid_argument  :   0   <=   a_hour   и   a_hour   <=   23 
         dohour 
             :   =   a_hour 
         убедитесь, 
             чтоhour_set  :   hour   =   a_hour 
         end 

Постусловия и наследование [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Мейер, Бертран , Объектно-ориентированное создание программного обеспечения , второе издание, Prentice Hall, 1997, стр. 342.
  2. ^ Мейер, 1997, стр. 570–573.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: DD7CE3D9A0E60D0468E2602FB545D29E__1640204460
URL1:https://en.wikipedia.org/wiki/Postcondition
Заголовок, (Title) документа по адресу, URL1:
Postcondition - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)