Programación en castellano
Inicio > Tutoriales > J2SE > Introducción a Java
-Tutoriales

Introducción a Java


Constructores

Con lo que ya sabemos ya estamos preparados para entender y realizar ejemplos más complejos.

Rectangulo.java
/** Calcula el area de un rectangulo
*/
public class Rectangulo {
  private float x1,y1,x2,y2;
  public Rectangulo(float ex1, float ey1, float ex2, float ey2) {
    x1 = ex1;
    x2 = ex2;
    y1 = ey1;
    y2 = ey2;
  }
  public float calcularArea() {
    return (x2-x1) * (y2-y1);
  }
  public static void main(String[] args) {
    Rectangulo prueba = new Rectangulo(1,4,7,6);
    System.out.println(prueba.calcularArea());
  }
}

Seguimos incluyendo una sola clase en nuestro programa fuente, que guardaremos como Rectangulo.java y que compilaremos y ejecutaremos como vimos hace un par de capítulos. Veremos que nos responde con 12.0. Observando la clase que hemos creado, vemos que tiene cuatro propiedades, de tipo float, y tres métodos. Uno es el ya conocido main, otro parece un método normal y por último tenemos uno que se llama igual que la clase. Es un constructor.

Un constructor es el método que se llama cuando se crea una instancia nueva. Se suele utilizar para inicializar valores. Aquí vemos cómo se crea un objeto de tipo Rectangulo y se asigna a una referencia llamada prueba:

Rectangulo prueba = new Rectangulo(1,4,7,6);

Como vemos, al crear el objeto colocamos a la derecha de new una llamada al constructor. Si no especificamos ningún constructor, los objetos se crean un constructor por defecto que no admite parámetros y no realiza ninguna tarea de inicialización. Por ejemplo, si no hubiésemos especificado un constructor en nuestro ejemplo, podríamos haber creado un objeto rectángulo de este modo:

Rectangulo prueba = new Rectangulo();

En cuyo caso tendría todos sus propiedades en su valor inicial, es decir, cero. En el ejemplo vemos que recibe como parámetros las cuatro coordenadas necesarias para definir un rectángulo y las asigna a sus propiedades.

Finalmente, el programa realiza algo útil:

System.out.println(prueba.calcularArea());

Como vimos, esta llamada sirve para escribir en pantalla lo que le indiquemos. En este caso es una llamada al método de la clase Rectangulo llamado calcularArea(). Este método toma las coordenadas que alberga en las propiedades de la clase y a partir de ellas calcula el área según la fórmula geométrica debida.

Sin embargo, este método devuelve un valor de tipo float, es decir, no devuelve una cadena. ¿Cómo es que nos lo escribe por pantalla? Java lo convierte automáticamente en cadena cuando necesita una cadena. Esta pequeña violación en el estricto sistema de tipos de Java sólo se da con cadenas y más que nada por comodidad. En un futuro veremos de que manera podemos conseguir que nuestros objetos también se conviertan en cadenas de manera transparente.

 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados