TODO SOBRE LAS INVARIANTES DE CLASE JAVA

En este post hablare sobre las invariantes de clase en el lenguaje de programación Java.

¿Que es una invariante de clase en java?

El invariante de una clase es un conjunto de aserciones (afirmaciones) que indican las propiedades que en todo momento deben cumplir las instancias de esa clase, y que pueden utilizarse como suposiciones dentro de todos los métodos sin necesidad de que aparezcan en las pre-condiciones y sin necesidad de verificarlos.
En programación, concretamente en programación orientada a objetos, las «invariantes de clase» son invariantes usadas para restringir los objetos de una clase. Los métodos de la clase deben respetar la invariante. La invariante de la clase restringe el estado guardado en el objeto.
Las invariantes de la clase se establecen durante su construcción y se mantienen entre las llamadas a métodos públicos. Es posible romper la invariabilidad de la clase entre llamadas a métodos privados, pero no es aconsejable.
Las invariantes de clase son mas para que el programador sepa que tipo de datos u objetos tiene restringidos en el software que esta construyendo, pues una vez generado o construido el proyecto, estas invariantes no las vera el usuario final.

Como se compone una invariante de clase en java?

Un invariante está compuesto básicamente por lo siguiente:

  1. Restricciones sobre los valores que pueden tomar los atributos de la clase
  2. Restricciones sobre los valores que pueden tomar los objetos hacia los cuales hay una asociación.
  3. Relaciones entre los atributos y/o los objetos con los cuales se relaciona.

Como crear y configurar las invariantes de clase en java usando eclipse?

En el siguiente vídeo explico como crear invariantes de clase en el lenguaje de programación java. Para el vídeo he usado el entorno de desarrollo eclipse.

*Reproducir el vídeo completo*

Ejemplos de invariantes de clase en Java

Aquí vemos un ejemplo de invariante de clase en donde la aserción nos dice que para la clase fecha los valores del dia deben estar entre 1 y 31, es decir que no podemos escribir una fecha que tenga el dia 0. La segunda aserción es para la hora, en donde se ve claramente un formato de 24 horas que nos indica que la hora de un día va a estar entre 0 y 24 horas.

class Fecha {

  int dia;

  int hora;

  invariant() {

     assert(1 <= dia && dia <= 31);

     assert(0 <= hora && hora < 24);
   }
}

TODO SOBRE LAS INVARIANTES DE CLASE JAVA
Califica este post

ARTÍCULOS RELACIONADOS

One Comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *