Concepto de Clase.
Igual que podemos modelizar diversos enteros
asociando varias variables al mismo tipo entero, también tendremos
que poder representar varios objetos con las mismas características
(por ejemplo, ventanas en un entorno operativo). En POO, esta diferencia
se concreta en dos términos:
-
Una clase (class) es un modelo para múltiples
objetos con características similares. La clase es, por decirlo
así, el tipo de objeto a representar. Se define en el programa a
compilar.
-
Una instancia (instance) es un objeto concreto
que pertenece a uno de los tipos (clases) definidos previamente. La instancia
se crea en ejecución. Es lo que hasta ahora conocíamos como
variable. A menudo se utiliza el término objeto como sinónimo
de instancia. También ejemplar es una traducción que se usa
a menudo.
Notar que en Java todo es una
clase y tendremos clases predefinidas propias del lenguaje Java y podremos
definirnos nuevas para el desarrollo de nuestra aplicación que hagan
uso de estas clases predefinidas. Las principales características
de una clase son:
-
Contiene atributos, que es donde
almacena los valores que definen el estado de una clase.
-
Contiene métodos, que
son funciones que se definen para manejar los atributos que están
contenidas en la clase y definen su comportamiento, se encapsulan dentro
de la clase.
-
Contiene constructores, que
son métodos especiales que crean instancias u objetos de una clase.
-
Se estructuran en paquetes,
que son colecciones de clases que cooperan conjuntamente.
Atributos.
Los atributos son, como hemos nombrado
antes, los datos de cada objeto. Consideremos por ello cuándo gestionaremos
los atributos:
Cuando definimos la forma que tendrá
el objeto, es decir, en la clase, indicaremos el nombre y tipo de todos
sus atributos. Esta es simplemente la definición. Por ejemplo la
clase Coche podría tener un atributo velocidadMaxima con un tipo
entero (kilómetros/hora).