Программирование по контракту — различия между версиями
Sergej (обсуждение | вклад)  (→Пример)  | 
				Sergej (обсуждение | вклад)   (→Пример)  | 
				||
| Строка 16: | Строка 16: | ||
}}  | }}  | ||
== Пример ==  | == Пример ==  | ||
| − |    class Time  | + |    class Time {  | 
| − | {  | ||
     intHOURS;  |      intHOURS;  | ||
     intMINUTES;  |      intMINUTES;  | ||
Версия 15:47, 15 июня 2013
Программирование по контракту обеспечивает проверку предусловий и постусловий при выполнении методов классов, пользовательских функций. Также немаловажную роль в правильности написания функций играют инварианты.
Содержание
Предусловие
| Определение: | 
| Предусловие - должно быть выполнено до исполнения действия. | 
Постусловие
| Определение: | 
| Постусловие - должно быть выполнено после исполнения действия. | 
Инвариант
| Определение: | 
| Инвариант - определяет глобальные свойства некоторого класса, которые должны соблюдаться после его создания на протяжении всего времени жизни. | 
Пример
 class Time {
   intHOURS;
   intMINUTES;
   intSECONDS;
   getHours();
   {
       returnHOURS;
   }    
   getMinutes();
   {
       return MINUTES;
   }
   getSeconds()
   {
       return SECONDS;
   }
   setHours(newHOURS);
   {
       HOURS = newHOURS;
   }
   setMinutes(newMINUTES);
   {
       MINUTES = newMINUTES;
   }
   setSeconds(newSECONDS)
   {
       SECONDS = newSECONDS;
   }
 }