13.07.2015 Views

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Instrucciones</strong> y <strong>excepciones</strong> 11La instrucción switchObjetivo del temaExplicar una formaalternativa de tomardecisiones complejas.Explicación previaLas instrucciones ifanidadas pueden resultarconfusas a la hora deexpresar condicionescomplejas. En algunoscasos, pero no en todos, esposible utilizar la instrucciónswitch como alternativa.• Las instrucciones switch se usan en bloques devarios casos• Se usan instrucciones break para evitar caídas encascada (fall through)switch (palo) {case Palo.Treboles :case Palo.Picas :color = "Negro"; break;case Palo.Corazones :case Palo.Diamantes :color = "Rojo"; break;default:color = "ERROR"; break;}Recomendación alprofesorSe dice a menudo que enprogramas orientados aobjetos se debe evitar lainstrucción switch. Porsupuesto, esto se debe aque muchas instruccionesswitch utilizan un marcadorde tipo en lugar de unpolimorfismo. La instrucciónswitch se puede emplearpara tomar decisiones enfunción del valor de un dato,y es especialmenteadecuada para determinarel valor de una variableenum.La instrucción switch proporciona un mecanismo elegante para expresarcondiciones complejas que, de lo contrario, requerirían el uso de instruccionesif anidadas. Consta de bloques de varios casos, cada uno de los cualesespecifica una sola constante y una etiqueta case asociada. No está permitidoagrupar varias constantes en una sola etiqueta case, sino que cada constantedebe tener la suya propia.Un bloque switch puede contener declaraciones. El ámbito de una constante ovariable local declarada en un bloque switch se extiende desde su declaraciónhasta el final del bloque switch, como se ve en el ejemplo de la transparencia.Ejecución de instrucciones switchUna instrucción switch se ejecuta de la siguiente forma:1. Si una de las constantes especificada es una etiqueta case es igual al valorde la expresión switch, el control pasa a la lista de instrucciones que sigue ala correspondiente etiqueta case.2. Si ninguna constante de las etiquetas case es igual al valor de la expresiónswitch, y la instrucción switch contiene una etiqueta default, el control pasaa la lista de instrucciones que sigue a la etiqueta default.3. Si ninguna constante de las etiquetas case es igual al valor de la expresiónswitch, y la instrucción switch no contiene una etiqueta default, el controlpasa al final de la instrucción switch.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!