En los tres primeros puntos, las clases son a menudo vistos como análogos a los tipos (en lenguajes orientados a objetos más tipos estáticos que sirven ese papel) y se proponen ofrecer garantías contractuales a sus instancias, y para los usuarios de sus casos, que se comportarán de alguna manera dada.