Que Java sea un lenguaje orientado a objetos significa que vamos a trabajar con clases. En una clase definimos las variables que describen cada objeto y los métodos con los que vamos a manipular los objetos.
Lo normal es que las variables que definen un objeto sean privadas. De este modo impedimos que desde fuera de la clase sean accesibles. Sólo los métodos públicos de la clase serán capaces de modificar y consultar las variables.
Es importante que la clase proporcione un conjunto de métodos bien definidos que permitan manipular con facilidad cualquier objeto de la clase:
- métodos constructores, son métodos con los que se define el estado inicial de los objetos;
- métodos de tipo set, son métodos con los que se modifica el objeto, lo normal es que como consecuencia se modifique alguna variable del objeto;
- métodos de tipo get, son métodos con los que se obtiene el estado del objeto, o sea, que devuelven el valor de sus variables o calculado a partir de sus variables;
- otros métodos o métodos genéricos, otro tipo de métodos que no se pueden englobar dentro de las dos categorías anteriores, son métodos que van a facilitar la manipulación de los objetos usando los propios recursos de Java, pueden ser métodos heredados como toString(), equals(), métodos que implementan alguna interfaz como el método compareTo() de la interfaz Comparable u otro tipo de métodos;
- métodos privados, suelen ser métodos auxiliares que operan sobre las variables del objeto que sólo pueden ser invocados desde los propios métodos de la clase.
Cuando implementamos una clase nos debemos olvidar del programa con el que la vamos a manipular. Nos debe dar igual si la vamos a usar en una aplicación de consola, aplicación gráfica o en una aplicación web. Debemos centrarnos en la propia clase y en proporcionar un conjunto de métodos públicos que permitan manipular sus objetos.