AjLearning
AjLearning 0.1    





Introducción a Java - Clases en Java

Curso Introducción a Java

    Anterior     Siguiente

Cada vez que estuvimos viendo un programa Java, apareció la definición de por lo menos alguna clase. Toda declaración de variable, toda función o rutina, se encontró escrita en el entorno de una clase. Esto es así, porque los datos, y rutinas, no existen en Java, si no es dentro de una clase. No hay variables globales, o funciones aisladas. Sólo existen dentro de alguna clase.

La clase es entonces, una unidad fundamental en Java. Los datos que contenga, se denominan atributos, y las funciones y rutinas que defina, se conocen como sus métodos. Un objeto no es más que la instancia de una clase, una clase llevada a la existencia, así como una variable entera es una instancia, un ejemplo vivo de un tipo int. Una clase define cómo es un objeto.

Un ejemplo inicial de clase puede ser el siguiente :

class Punto { public long x; public long y; }
Vemos que una clase se define con la palabra reservada class, seguida del nombre de la clase. Luego, entre llaves, se va definiendo su estructura. En el ejemplo de arriba, definimos una clase, con dos atributos enteros x e y.

Notemos que esos atributos se han declarado con el modificador public : esto quiere decir que esos datos son accesibles desde otras clases, es decir, son públicos y conocidos por cualquier otro objeto.

El ejemplo anterior sólo define una clase, pero no crea ningún objeto. Cuando necesitemos, en alguna otra clase o método, declarar un objeto de la clase Punto, bastará poner :

Punto origen ;
Esto creará una variable que se dice, referencia, apunta, a un objeto de la clase Punto. Es de destacar que el objeto todavía no está creado : solamente se declara una variable, un atributo, que llegado el momento, referenciará un objeto de la clase Punto. En el momento de la declaración, el atributo origen no apunta a ningún objeto, y tiene como valor, el valor reservado null, es decir, no apunta a nada.

Programado por Angel J. Lopez www.ajlopez.com