Class Invariant

In computer programming, specifically object-oriented programming, a class invariant is an invariant used to constrain objects of a class. Methods of the class should preserve the invariant. The class invariant constrains the state stored in the object.

Class invariants are established during construction and constantly maintained between calls to public methods. Temporary breaking of class invariance between private method calls is possible, although not encouraged.

An object invariant, or representation invariant, is a programming construct consisting of a set of invariant properties that remain uncompromised regardless of the state of the object. This ensures that the object will always meet predefined conditions, and that methods may, therefore, always reference the object without the risk of making inaccurate presumptions. Defining class invariants can help programmers and testers to catch more bugs during software testing.

Read more about Class Invariant:  Class Invariants and Inheritance

Famous quotes containing the word class:

    What exacerbates the strain in the working class is the absence of money to pay for services they need, economic insecurity, poor daycare, and lack of dignity and boredom in each partner’s job. What exacerbates it in upper-middle class is the instability of paid help and the enormous demands of the career system in which both partners become willing believers. But the tug between traditional and egalitarian models of marriage runs from top to bottom of the class ladder.
    Arlie Hochschild (20th century)