Mi primera clase en Java

Publicado: Sábado, 13 \13\UTC junio \13\UTC 2009 en 09. Programación orientada a objetos (I)

Una vez aprendidos los conceptos teóricos sobre las clases y objetos en Java, apliquemos lo estudiado en la práctica.

Utilizaremos para este ejemplo la clase coche de la que hablamos en la entrada anterior.

Mi primera clase

El primer paso es definir la clase, de la siguiente manera:

class Coche {

}

Ya tenemos el primer paso. No parece tan difícil, ¿verdad?

El segundo paso es especificar qué atributos necesitamos en nuestro coche. Por ejemplo:

class Coche {

Integer cilindrada;

String color;

Double precio;

boolean isArrancado;

}

Bien, ya tenemos cuatro atributos: cilindrada de tipo Integer (fijaos que no he utilizado el tipo básico int, sino su envoltorio Integer); color de tipo String; precio de tipo Double (al igual que en el caso de cilindrada, no utilizo el tipo básico, sino su envoltorio, en este caso Double en lugar de double); e isArrancado de tipo boolean. Esta última indica si el motor del coche está arrancado o no lo está.

El tercer y último paso para construir nuestra clase es definir el comportamiento (métodos) de nuestro coche. En concreto, únicamente vamos a tratar que el coche haya arrancado o esté parado. Para ello, haremos lo siguiente:

void arrancar() {

if (isArrancado != true) {

isArrancado = true;

System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);

} else {

System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);

}

}

El método arrancar() comprueba si el coche está arrancado. Si no lo está, lo arranca (con la línea isArrancado = true) y nos avisa con un mensaje. Si lo está, simplemente nos informa que el coche ya había arrancado.

Ya tenemos creada la clase completa. El código completo es este:

class Coche {

Integer cilindrada;

String color;

Double precio;

boolean isArrancado;

void arrancar() {

if (isArrancado != true) {

isArrancado = true;

System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);

} else {

System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);

}

}

}

Fijaos que primero se definen los atributos y a continuación los métodos, esto es por convención de Java.

Este fichero debemos grabarlo con el nombre de la clase que hemos definido, seguido de la extensión .java. Es decir, debemos guardar el fichero con el nombre Coche.java.

Añadiendo funcionalidad a la clase

Vamos a añadir un método para conseguir mayores prestaciones sobre la clase y para que veáis qué sencillo es ampliar el comportamiento de una clase.

El nuevo método nos permitirá mostrar el valor de cada uno de los atributos. Vamos a llamarlo verCoche(). El código es este:

void verCoche() {

System.out.println(“Este coche es de color ” + color + ” tiene una cilindrada de ” + cilindrada + ” y cuesta ” + precio + ” euros.”);

if (isArrancado == true) {

System.out.println (“Ahora mismo está arrancado.”);

} else {

System.out.println (“Ahora mismo está parado.”);

}

}

Este método mostrará dos líneas por pantalla: la primera mostrará el color, cilindrada y precio del coche y la segunda nos dirá si el coche está arrancado o parado.

Introducimos dentro de la clase este nuevo método y volvemos a guardar el fichero. El código ahora es este:

class Coche {

Integer cilindrada;

String color;

Double precio;

boolean isArrancado;

void arrancar() {

if (isArrancado != true) {

isArrancado = true;

System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);

} else {

System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);

}

}

void verCoche() {

System.out.println(“Este coche es un ” + marca + ” de color ” + color + ” y cuesta ” + precio + ” euros.”);

if (isArrancado == true) {

System.out.println (“y ahora mismo está arrancado.”);

} else {

System.out.println (“y ahora mismo está parado.”);

}

}

}

Crear un programa para trabajar con la clase

Ya podemos compilar el fichero. Pero únicamente hemos definido una clase, con lo que no es posible ejecutar nada, ya que no hay nada que ejecutar.

Necesitamos un programa que nos permita trabajar con la clase coche que acabamos de crear. Este programa deberá crear objetos de la clase (recordad que “una clase” no es algo que exista en realidad, sino una plantilla de esa realidad, que es el objeto) y trabajar con ellos.

Veamos un ejemplo de programa y después lo comentaremos.

public static void main (String args[]) {

Coche c;

c = new Coche();

c.cilindrada= 1800;

c.color = “plata”;

c.precio = 25000.0;

System.out.println (“¿Qué coche es este?”);

c.verCoche();

System.out.println(“Vamos a arrancar el coche”);

c.arrancar();

System.out.println (“¿Qué coche es este?”);

c.verCoche();

System.out.println(“Vamos a arrancar el coche”);

c.arrancar();

}

El método main() ya lo conocéis de vuestro primer programa HolaMundo.java que hicisteis hace unos días. Ahora ya tenemos un programa que podemos ejecutar.

Declaración y acceso a los objetos

Comentemos el programa anterior para entender cómo se trabaja en Java con los objetos.

En la primera línea, Coche c; , se declara un objeto de la clase Coche. A diferencia de C, la declaración no significa reserva en memoria. En el momento de la declaración, el objeto tiene el valor null. Para “crear” un objeto en realidad (y por tanto poder trabajar con él), se necesita utilizar el operador new.

La segunda línea c = new Coche();, crea un objeto de la clase Coche y lo asigna al objeto que se había declarado en la anterior línea.

A partir de la tercera línea, se comienza a trabajar con el objeto recién creado. Con estas tres líneas:

c.cilindrada= 1800;

c.color = “plata”;

c.precio = 25000;

hemos modificado los atributos cilindrada, color y precio de nuestro objeto. Fijaos que el acceso a los atributos del objeto se realiza mediante el operador punto (.). Simplemente hemos de utilizar la siguiente sintaxis:

objeto.atributo

A partir de ese momento, realizamos varias llamadas a los métodos. Por ejemplo:

System.out.println (“¿Qué coche es este?”);

c.verCoche();

Primero se muestra un mensaje de información y a continuación se accede al método verCoche() para comprobar si todo el código anterior de modificación de atributos ha funcionado correctamente. De la misma manera que ocurría para el acceso a los atributos, el acceso a los métodos utiliza la siguiente sintaxis:

objeto.método

Destrucción de objetos

Respecto a la destrucción de objetos, no debemos preocuparnos en absoluto, ya que Java tiene el llamado garbage collector (recolector de basura) que se encarga de realizar toda la gestión de memoria por nosotros automáticamente.


Creative Commons License
Mi primera clase en Java by Cristian Jorge Garcia Marcos is licensed under a Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España License.

Anuncios
comentarios
  1. juan dice:

    eres muy bueno explicanco amigo muchas gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s