##
REFERENCIAS Y ARRAYS

Como en C y C++, Java dispone de arrays de tipos primitivos o de clases. Los arrays en C y C++ son básicamente un acompañante para los punteros. En Java, sin embargo, son ciudadanos de primera clase.

Vamos a expandir nuestro hotel creando todo un ala de habitaciones, Hotel2.java. Crearemos un juego de llaves maestras y luego construiremos las habitaciones:

    public class Hotel2 {
        // Número de habitaciones por ala
        public static final int habPorAla = 12;

        public static void main( String args[] ) {
            Habitacion llavesMaestras[];                    // paso 1
            llavesMaestras = new Habitacion[ habPorAla ];   // pasos 2-5
    //      ^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    //            A                 B, C, D y E
            int numPiso = 1;
            for( int i=0; i < habPorAla; i++ )              // pasos 6-9
                llavesMaestras[ i ] = new Habitacion( numPiso * 100 + i,
                    ( 0 == (i%2)) ? 2 : 1 );
            for( int i=0; i < habPorAla; i++ )              // pasos 10-11
                llavesMaestras[i].printData();
            }
        }

Cada paso en el ejemplo es semejante al que ya vimos antes. El paso 1 especifica que el juego de llaves maestras es un grupo de llaves de habitaciones.

Los pasos 2 a 5 son, en este caso, la parte principal. En lugar de crear una habitación, el gerente ordena construir un grupo contiguo de habitaciones. El número de llaves se especifica entre corchetes y todas se crean en blanco.

Los pasos 6 a 9 son idénticos a los pasos 2 a 5 del ejemplo anterior, excepto en que en este caso todas las llaves pasan a formar parte del juego maestro. Los números de piso se dan en miles para que cuando se creen las habitaciones, todas tengan el mismo formato. También todas las habitaciones de número par tienen una sola cama, mientras que las habitaciones impares tendrán dos camas.

Los pasos 10 y 11 nos permiten obtener información de cada una de las habitaciones.

|  | ##### [Anterior] [Indice] [Siguiente]