Clase Mesa:
- color (cadena de caracteres)
- alto (numérico entero)
- ancho(numérico entero)
- largo (numérico entero)
- material (cadena de caracteres)
- ubicación (cadena de caracteres)
De una determinada clase se pueden crear una serie de objetos, que serán instancias de esa clase. Objeto, instancia de clase o instancia son sinónimos. Siguiendo el ejemplo de la clase "Mesa", se pueden crear diversas mesas cada una de ellas con sus propios atributos, aunque pueden tener valores iguales en algunos casos. Cada objeto (mesa) creado tendrá un nombre exclusivo de lo identifica.
- mesa01: "Blanco", 100, 120, 60, "Madera", "Aula1"
- mesa02: "Verde", 100, 100, 50, "Plástico", "Aula1"
- mesa03: "Blanco", 100, 120, 60, "Madera", "Aula2"
- mesa04: "Rojo", 100, 120, 60, "Plástico", "Aula2"
- mesa05: "Verde", 100, 100, 50, "Plástico", "Aula2
Cada clase tendrá definida una serie de operaciones que se pueden realizar sobre los objetos creados de esa clase. Esas operaciones se denomina métodos. Siempre habrá un método para crear los objetos de la clase que se denomina método constructor. En el ejemplo de la clase "Mesa" se tendrá un método para crear las mesas, y se pueden definir otros que permitan realizar una serie de operaciones, por ejemplo:
- moverMesa: Permitiría cambiar la ubicación de una determinada mesa, por ejemplo, del Aula1 al Aula2.
- PitarMesa: Permitiría cambiar el color de una determinada mesa, indicando el nuevo color que tendría.
Una aplicación en Java se compone de un conjunto de clases, de las que se crean objetos que interactúan entre sí. El programador puede instanciar (crear) objetos de las clases definidas por él o de las clases incluidas en el lenguaje.
Los nombres de las clases en Java empiezan, por convenio, en mayúscula, y los nombres de los objetos empiezan por minúscula.
Estructura básica de una clase en Java
/**
* Estructura básica de una clase en Java
*/
class NombreDeClase
{
//Declaración de los atributos de la clase
tipoDato atributo1;
tipoDato atributo2;
tipoDato atributo3;
//Declaración de los métodos de la clase
método1(argumentos)
{
//Declaración de las variables propias del método1
//Sentencias de ejecución del método
}
método2(argumentos)
{
//Declaración de las variables propias del método2
//Sentencias de ejecución del método
}
}
* Estructura básica de una clase en Java
*/
class NombreDeClase
{
//Declaración de los atributos de la clase
tipoDato atributo1;
tipoDato atributo2;
tipoDato atributo3;
//Declaración de los métodos de la clase
método1(argumentos)
{
//Declaración de las variables propias del método1
//Sentencias de ejecución del método
}
método2(argumentos)
{
//Declaración de las variables propias del método2
//Sentencias de ejecución del método
}
}
Declaración y acceso a atributos de una clase
Los atributos son las características propias de cada clase. Cada objeto creado de una determinada clase tendrá una serie de valores asignados en dichos atributos, por tanto, permiten guardar información de cada objeto.Ejemplo para la clase Alumno:
Como se puede observar en el atributo turnoHorario, se puede dar un valor inicial en la declaración de los atributos.
Desde otra parte del código se podrá acceder al valor que contiene un determinado atributo de un determinado objeto con el siguiente formato de sentencia:
nombreObjeto.atributo
Declaración de métodos
Los métodos de una clase definen el comportamiento y los valores de los atributos de un determinado objeto de esa clase.El formato básico de declaración de los métodos es:
valorRetorno nombreMétodo(tipoDato argumento1, tipoDato argumento2, ...)
{
//Declaración de variables propias del método
//Sentencias con las acciones que debe realizar el método
return valorQueDebeRetornar;
}
{
//Declaración de variables propias del método
//Sentencias con las acciones que debe realizar el método
return valorQueDebeRetornar;
}
Los métodos pueden retornar un valor tras ejecutar las sentencias que contiene, o bien no retornar nada.
Si va a retornar un valor, se debe especificar el tipo de dato en la declaración delante del nombre. El valor que vaya a ser devuelto se indica con la sentencia return, por ejemplo, para retornar un String:
Hay que tener en cuenta que la sentencia return termina la ejecución del método, por lo que debe escribirse en el lugar donde no deba ejecutarse posteriormente ninguna otra sentencia.
Siguiendo el ejemplo de la clase Alumno, se puede declarar un método dameGrupo que obtenga el grupo en el que se encuentra un determinado alumno:
El valor retornado puede ser un atributo de la misma clase o cualquier otro dato, por ejemplo, un valor booelano que indique si el alumno es mayor de edad:
boolean esMayorEdad()
{
int añoActual = 2010;
if(añoActual - añoDeNacimiento >= 18)
return true;
else
return false;
}
{
int añoActual = 2010;
if(añoActual - añoDeNacimiento >= 18)
return true;
else
return false;
}
Si el método no va a retornar ningún valor, se debe indicar con la palabra void delante del nombre, y no se emplea la sentencia return:
void nombreMétodo()
{
//Sentencias del método
}
{
//Sentencias del método
}
Por ejemplo, se puede declarar un método que únicamente muestre por pantalla el grupo al que pertenece un alumno, sin que retorne ningún otro valor.
En la declaración del método se debe informar de los parámetros que puede aceptar el método, indicando el tipo de dato y un nombre para dicho parámetro que se utilizará como una variable dentro del mismo. Se escriben después del nombre del método, entre paréntesis y separados por comas.
void asignaValores(String nom, String ape, int añoNac, int num, String gru, String turno)
{
//Asignación de valores a los atributos de la clase
nombre = nom;
apellidos = ape;
añoDeNacimiento = añoNac;
númeroPersonal = num;
grupo = gru;
turnoHorario = turno;
//Mostrar mensaje informativo
System.out.println("Valores asignados correctamente");
}
{
//Asignación de valores a los atributos de la clase
nombre = nom;
apellidos = ape;
añoDeNacimiento = añoNac;
númeroPersonal = num;
grupo = gru;
turnoHorario = turno;
//Mostrar mensaje informativo
System.out.println("Valores asignados correctamente");
}
Creación de objetos
Teniendo una clase declarada, se pueden crear tantos objetos como se quiera de esa misma clase. En el ejemplo que seguimos, una vez declarada la clase Alumno, podemos declarar una serie de alumnos cuyas características serán los atributos de la clase Alumno, y sobre los que se podrán realizar las acciones indicadas en los métodos declarados en la misma clase Alumno.A los objetos creados se les hace referencia a través de una variable cuyo tipo de dato será el nombre de la clase. Se debe declarar una variable por cada objeto que se vaya a crear, o bien un array que contenga varios objetos de la misma clase.
nombreClase nombreObjeto;
Por ejemplo:
Alumno alumno1;
Alumno alumno2;
Alumno alumno2;
La acción de declarar la variable que haga referencia al objeto no implica que se haya creado el objeto, tan sólo se ha declarado el nombre que hará referencia al objeto. Por tanto, se debe realizar además la creación del objeto utilizando la sentencia new seguido del nombre de la clase.
nombreObjeto = new nombreClase();
Por ejemplo:
alumno1 = new Alumno();
Se puede hacer la declaración de la variable y la creación del objeto en una misma línea:
Alumno alumno1 = new Alumno();
Se puede crear un array de objetos de una clase siguiendo el siguiente ejemplo:
//Crear el array de objetos
Alumno alumnos[] = new Alumno[3];
//Crear cada objeto
alumnos[0] = new Alumno();
alumnos[1] = new Alumno();
alumnos[2] = new Alumno();
Alumno alumnos[] = new Alumno[3];
//Crear cada objeto
alumnos[0] = new Alumno();
alumnos[1] = new Alumno();
alumnos[2] = new Alumno();
Llamada a los métodos
Para que se ejecuten las sentencias contenidas en un método, se debe hacer una llamada al mismo. La llamada a un método de una determinada clase se realiza indicando el nombre del objeto (ojo, no el nombre de la clase) sobre el que se desea aplicar la ejecución del método seguido del nombre del método separado por un punto.Si el método tiene declarados parámetros, en la llamada se deben indicar entre paréntesis los valores reales que se van a asignar a cada parámetro.
Además, si el método retorna un valor se debe asignar el resultado del método a una variable del mismo tipo.
nombreObjeto.nombreMétodo();
nombreObjeto.nombreMétodo(valor1, valor2, ...);
valorRetornado = nombreObjeto.nombreMétodo();
valorRetornado = nombreObjeto.nombreMétodo(valor1, valor2, ...);
nombreObjeto.nombreMétodo(valor1, valor2, ...);
valorRetornado = nombreObjeto.nombreMétodo();
valorRetornado = nombreObjeto.nombreMétodo(valor1, valor2, ...);
Las llamadas a los métodos de una clase se puede hacer desde métodos de la misma clase o desde métodos de otra clase, por ejemplo, desde la clase Main.
Algunos ejemplos de llamadas a métodos de la clase Alumno:
//Crear un nuevo alumno
Alumno alumno1 = new Alumno();
//Llamada a un método con parámetros
alumno1.asignaValores("Luis", "Pérez", 1979, 1, "1DAI", "Tarde");
//Llamada a un método sin parámetros
alumno1.muestraGrupo();
//Llamada a un método con retorno de valor
boolean mayorEdad = alumno1.esMayorEdad();
if(mayorEdad)
System.out.println("Es mayor de edad");
//También se podría emplear directamente la llamada al método:
//if(alumno1.esMayorEdad())
// System.out.println("Es mayor de edad");
Alumno alumno1 = new Alumno();
//Llamada a un método con parámetros
alumno1.asignaValores("Luis", "Pérez", 1979, 1, "1DAI", "Tarde");
//Llamada a un método sin parámetros
alumno1.muestraGrupo();
//Llamada a un método con retorno de valor
boolean mayorEdad = alumno1.esMayorEdad();
if(mayorEdad)
System.out.println("Es mayor de edad");
//También se podría emplear directamente la llamada al método:
//if(alumno1.esMayorEdad())
// System.out.println("Es mayor de edad");
Creación de nueva clase en NetBeans
Dentro de un mismo archivo ".java" se pueden crear varias clases, aunque suele ser más claro y cómodo crear un nuevo archivo para cada clase.Desde NetBeans se puede crear fácilmente una nueva clase Java desde el menú contextual del paquete de fuentes, o desde el menú "Archivo > Archivo Nuevo", seleccionado la opción "Clase Java".
Descargar proyecto de ejemplo de la clase Alumno