Программирование по контракту — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Пример)
Строка 16: Строка 16:
 
}}
 
}}
 
== Пример ==
 
== Пример ==
<tex>class Time
+
  class Time
 
{
 
{
 
     intHOURS;
 
     intHOURS;
Строка 50: Строка 50:
 
         SECONDS = newSECONDS;
 
         SECONDS = newSECONDS;
 
     }
 
     }
}</tex>
+
  }

Версия 15:45, 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;
   }
 }