Vamos a crear un programa que utilice objetos y clases en Java. El siguiente programa creará una clase llamada Tortuga, a la que le asignaremos un nombre y una posición x,y. Además, interactuaremos con ella mediante la creación de un objeto a través del cual le preguntaremos su ubicación.
Abrimos NetBeans
Menú Archivo
Opción: Proyecto Nuevo…
Seleccionamos Java->Java Application
Asignamos un nombre al proyecto: Puede ser cualquiera, nosotros le vamos a llamar Tuga.
Creamos una clase dentro de nuestro proyecto.
Archivo->Archivo Nuevo…
Seleccionamos Java y Java Class
Le asignamos un nombre a la clase, en nuestro ejemplo será: Tortuga
Nuestra clase contendrá lo siguiente:
private String nombre; private int posx, posy; public void establecerNombre(String nombre){ this.nombre = nombre; } public void mostrarNombre(){ System.out.printf("Mi nombre es %s", nombre); } public void mostrarPosicion(){ System.out.printf("Me encuentro en %d, %d", posx, posy); } public void avanzar(int n){ posx=posx+n; } public Tortuga(int x, int y ){ nombre = "Sin nombre"; posx=x; posy=y; }
Una clase tiene atributos y operaciones. Los atributos son los datos con los que trabaja una clase (Deitel, 2004). Se dice que los atributos (datos), representan el estado o condición de un objeto. En nuestro ejemplo, hemos seleccionado como atributos de nuestra tortuga, su nombre y su ubicación x,y.
private String nombre; private int posx, posy;
Las clases normalmente ocultan ciertos detalles. Esto se conoce como encapsulamiento. Es por eso que hemos declarado los atributos nombre y posx, posy, como privados.
private String nombre; private int posx, posy;
Usar encapsulamiento en nuestras clases es parte de la ingeniería de software.
En la terminología de Programación Orientada a Objetos, se utiliza el término Métodos. En otros lenguajes de programación, éstos bloques de código son conocidos como funciones o procedimientos. Los métodos nos permiten dividir un programa en módulos.
Nuestra clase cuenta con los siguientes métodos: establecerNombre, mostrarNombre, mostrarPosicion, y avanzar.
public void establecerNombre(String nombre){ this.nombre = nombre; } public void mostrarNombre(){ System.out.printf("Mi nombre es %s", nombre); } public void mostrarPosicion(){ System.out.printf("Me encuentro en %d, %d", posx, posy); } public void avanzar(int n){ posx=posx+n; }
El método establecerNombre, es de tipo void, quiere decir que no devuelve ningún dato cuando el método es invocado. Se observa que dentro de paréntesis se menciona un dato (String nombre), éste dato se le conoce como parámetro, e indica que cuando el método sea invocado, deberá asignársele un valor de tipo String o cadena de caracteres.
En ésta línea: this.nombre = nombre;
this.nombre se refiere al atributo nombre de la clase. (private String nombre)
nombre se refiere al parámetro nombre
La línea se lee: el atributo nombre recibe el valor del parámetro nombre.
El método avanzar también recibe un parámetro (int n), que indica el número de pasos que la tortuga dará. Es por eso que esa cantidad es sumada al valor que ya tiene el atributo posx.
Los métodos mostrarNombre y mostrarPosicion, imprimen una línea de texto con el nombre y posición x,y de la tortuga, respectivamente.
Observemos el proyecto que hemos creado. Contiene 2 archivos: uno llamado Tortuga.java (la clase que creamos nosotros), y otro que se llama Tuga.java (fue creado cuando se generó el proyecto).
Note que el archivo Tuga.java tiene en su icono una pequeña flecha verde. Eso indica que ese es el archivo que contiene el método main o principal de la aplicación, el método que hace que la aplicación corra o se ejecute. Si abrimos el archivo y vemos nuestro método main, contiene lo siguiente:
public static void main(String[] args) {
}
No contiene código, por lo que si ejecutáramos el programa no haría nada. Vamos a crear un objeto a partir de la clase Tortuga que ya tenemos.
public static void main(String[] args) { Tortuga mitortuga = new Tortuga(); mitortuga.establecerNombre("Tota"); mitortuga.mostrarNombre(); mitortuga.mostrarPosicion(); mitortuga.avanzar(5); mitortuga.mostrarPosicion();}
La línea
Tortuga mitortuga = new Tortuga();
Crea un objeto llamado mitortuga a partir de la clase Tortuga. A esto se le llama Instanciación de una clase (mitortuga es una instancia de Tortuga).
Una vez hecho esto podemos utilizar el objeto utilizando todos los miembros públicos que la clase posea. (¿Qué es un objeto? Apréndelo aquí).
Ya podemos darle un nombre a mitortuga
mitortuga.establecerNombre(“Tota”);
Pedirle que nos muestre su nombre
mitortuga.mostrarNombre();
Solicitarle que muestre su posición
mitortuga.mostrarPosicion();
Y pedirle que avance 5 posiciones
mitortuga.avanzar(5);
mitortuga.mostrarPosicion();
La salida de este sencillo programa será la siguiente
Constructores: declaración, uso y aplicaciones - | Dic 16,2016
[…] el tema anterior (Objetos y clases en Java), creamos e instanciamos una clase llamada Tortuga que tenía como atributos el nombre y la […]