Hola, una pregunta sencilla y quizás muy básica, pero, en este código:
switch (numeroDeDepositosGrupo) {
case 1: System.out.println ("Un grupo ha de tener más de un depósito"); break;
case 2:
deposito1 = new Deposito(); /*Al crear el objeto automáticamente se llama al constructor del mismo, en este caso sin parámetros. ESTO ES EJEMPLO DE SINTAXIS DE CREACIÓN DE UN OBJETO, EN ESTE CASO DENTRO DE OTRO */
deposito2 = new Deposito();
numeroDepositosGrupo = 2;
break;
case 3: deposito1 = new Deposito(); deposito2 = new Deposito(); deposito3 = new Deposito();
numeroDepositosGrupo = 3;
break;
default: System.out.println ("No se admiten más de tres depósitos");
//Esto no evita que se cree el objeto.
break;
} //Cierre del switch
} //Cierre del constructor
¿Por qué para cada case vuelve a reestablecer la variable numeroDepositosGrupo?
Si estamos en case 2 , ¿no sabe ya que numeroDepositosGrupo = 2? Si no se pusiera numeroDepositosGrupo en ninguna cláusula case, ¿variaría el número original tomado en switch(numeroDepositosGrupo) ? Que no termino de verlo claro, gracias.
Para asegurar, esto es lo que yo pregunto si no es correcto:
switch (numeroDeDepositosGrupo) {
case 1: System.out.println ("Un grupo ha de tener más de un depósito"); break;
case 2:
deposito1 = new Deposito(); /*Al crear el objeto automáticamente se llama al constructor del mismo, en este caso sin parámetros. ESTO ES EJEMPLO DE SINTAXIS DE CREACIÓN DE UN OBJETO, EN ESTE CASO DENTRO DE OTRO */
deposito2 = new Deposito();
break;
case 3: deposito1 = new Deposito(); deposito2 = new Deposito(); deposito3 = new Deposito();
break;
default: System.out.println ("No se admiten más de tres depósitos");
//Esto no evita que se cree el objeto.
break;
} //Cierre del switch
} //Cierre del constructor