Estructura general de un programa Java
Un programa en Java presenta la estructura habitual en los lenguajes OOP (lenguajes
orientados a objetos). Así, tendremos una clase que contenga el programa principal. El fichero fuente tendrá
extensión .java, mientras que el compilado tendrá extensión .class. Un fichero fuente puede contener más
de una clase, pero sólo una puede ser de tipo public. Además, el nombre de esa clase public
deberá coincidir con el nombre del fichero fuente. Por ejemplo, si en nuestro fichero .java declaramos
public class MiClase, el nombre de ese fichero deberá ser MiClase.java (respetando las mayúsculas pues,
de lo contrario, Java interpretaría que son nombres distintos).
A no ser que nuestros programas sean demasiado simples, éstos estarán constituidos por
varias clases. Estas clases hacen referencia a una programación modular, en la que podemos modificar nuestras
clases de forma independiente, como si fueran subprogramas realizando una función específica. La clase
principal, aquella que se ejecuta prioritariamente y que da comienzo al programa, es la que contiene
la función main(). Las clases, se agrupan en paquetes o packages (librerías o agrupaciones de clases) y por ello
debemos indicar su ubicación al principio de nuestro código. Es decir, si queremos utilizar la clase
ClaseA presente en el package "ClasesABC", debemos indicar al principio el paquete que contiene a ClaseA,
en este caso, ClaseABC. Si no se especifica, Java utilizará el package por defecto, el directorio activo.
Hemos hablado de clases... pero no las hemos definido. Pues bien, una clase es una
agrupación de datos (variables y campos) y funciones (métodos) que operan sobre estos datos. Se les llama,
respectivamente, variables miembro y métodos o funciones miembro. En ellos se basa la programación orientada
a objetos, en la programación de clases pues, cualquier programa, se construirá a partir de un conjunto de
clases.
Una vez definida y declarada nuestra clase, podemos declarar elementos de modo similar
a la creación de variables (int, double...) Los elementos declarados en una clase se llaman objetos de la clase.
Otro concepto importante en la programación OOP (y, por tanto, en la programación Java)
es la herencia, que permite definir nuevas clases basadas en las clases existentes y con ello reutilizar
código ya programado. Si una clase deriva de otra (lo indicaremos con la palabra extends, hereda
todas sus variables y métodos. La nueva clase, podrá contener nuevas variables y funciones así como
modificar o redefinir las que heredó. Únicamente, en Java, una clase sólo puede derivar de otra clase y
no de varias (no existiendo la herencia múltiple). Sin embargo, podemos simular esa herencia múltiple
con el uso de interfaces.
Una interface no es otra cosa que un conjunto de declaraciones de funciones. Si una
clase implementa una interface (lo indicaremos con la palabra implements), debe definir todas las
funciones especificadas por la interface. Una clase puede implementar más de una interface, simulando
así una herencia múltiple. También, por su parte, una interface puede derivar de una o más interface, incorporando
sus métodos.
|