Como ya has visto anteriormente, el cuerpo de una clase se encuentra encerrado entre llaves y contiene la declaración e implementación de sus miembros. Los miembros de una clase pueden ser:
- Atributos, que especifican los datos que podrá contener un objeto de la clase.
- Métodos, que implementan las acciones que se podrán realizar con un objeto de la clase.
Una clase puede no contener en su declaración atributos o métodos, pero debe de contener al menos uno de los dos (la clase no puede ser vacía).
En el ejemplo anterior donde se definía una clase Punto
, tendríamos los siguientes atributos:
- Atributo
x
, de tipoint
. - Atributo
y
, de tipoint
.
Es decir, dos valores de tipo entero. Cualquier objeto de la clase Punto
que sea creado almacenará en su interior dos números enteros (x
e y
). Cada objeto diferente de la clase Punto
contendrá sendos valores x e y, que podrán coincidir o no con el contenido de otros objetos de esa misma clase Punto
.
Por ejemplo, si se han declarado varios objetos de tipo Punto
:
Punto p1, p2, p3;
Sabremos que cada uno de esos objetos p1
, p2
y p3
contendrán un par de coordenadas (x, y)
que definen el estado de ese objeto. Puede que esos valores coincidan con los de otros objetos de tipo Punto
, o puede que no, pero en cualquier caso serán objetos diferentes creados a partir del mismo molde (de la misma clase).
Por otro lado, la clase Punto
también definía una serie de métodos:
int obtenerX () { return x; }
int obtenerY() { return y;}
void establecerX (int vx) { x= vx; };
void establecerY (int vy) { y= vy; };
Cada uno de esos métodos puede ser llamado desde cualquier objeto que sea una instancia de la clase Punto
. Se trata de operaciones que permiten manipular los datos (atributos) contenidos en el objeto bien para calcular otros datos o bien para modificar los propios atributos.