Программирование по контракту

Материал из Викиконспекты
Перейти к: навигация, поиск

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

Предусловие

Определение:
Предусловие - должно быть выполнено до исполнения действия.

Постусловие

Определение:
Постусловие - должно быть выполнено после исполнения действия.

Инвариант

Определение:
Инвариант - определяет глобальные свойства некоторого класса, которые должны соблюдаться после его создания на протяжении всего времени жизни.

Пример

[math]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;
    }
}[/math]