12.07.2015 Views

Desarrollo de proyectos informáticos con tecnología Java

Desarrollo de proyectos informáticos con tecnología Java

Desarrollo de proyectos informáticos con tecnología Java

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.

40CAPÍTULO 2. CLASESopción Por <strong>de</strong>fecto etiquetada como <strong>de</strong>fault que es opcional y cuyo código seejecutará si la expresión entera no coinci<strong>de</strong> <strong>con</strong> ninguno <strong>de</strong> los case anteriores.Es importante hacer notar que una vez que se encuentra una coinci<strong>de</strong>nciaentre la expresión entera y un case, se ejecuta su código correspondiente hastaen<strong>con</strong>trar la sentencia break. Esto nos permite obviar esta sentencia si queremosque varios case distintos ejecuten el mismo segmento <strong>de</strong> código, como en elsiguiente ejemplo:1 i n t mes = 1 ; // Correspon<strong>de</strong> a l mes <strong>de</strong> Enero2 s w i t c h ( mes ) {3 c a s e 1 :4 c a s e 3 :5 c a s e 5 :6 c a s e 7 :7 c a s e 8 :8 c a s e 1 0 :9 c a s e 1 2 :10 System . out . p r i n t l n (” El mes t i e n e 31 d í a s . ” ) ;11 break ;12 c a s e 4 :13 c a s e 6 :14 c a s e 9 :15 c a s e 1 1 :16 System . out . p r i n t l n (” El mes t i e n e 30 d í a s . ” ) ;17 break :18 d e f a u l t :19 System . out . p r i n t l n (” El mes e s Febrero . ” ) ;20 break ;21 }En el ejemplo anterior los meses cuyo ordinal es 1, 3, 5, 7, 8, 10 o 12 tienen31 días, todos los case correspondientes, excepto el <strong>de</strong> valor 12, no incluye lasentencia break por lo que en todos los casos, al seleccionar uno <strong>de</strong> ellos seejecutar la sentencia <strong>de</strong> la línea 10. Lo mismo ocurrirá si el ordinal <strong>de</strong>l mes es4, 6, 9 u 11, en todos los casos se ejecutará la sentencia <strong>de</strong> la línea 16.2.5. Modificadores <strong>de</strong> acceso.Ahora ya estamos en situación <strong>de</strong> volver a la pregunta: ¿Qué sentido tiene <strong>de</strong>clararmétodos <strong>de</strong> acceso a los atributos <strong>de</strong> una clase si puedo acce<strong>de</strong>r directamentea ellos? La repuesta es que, como regla general, nunca <strong>de</strong>bemos hacer visibleslos atributos <strong>de</strong> nuestras clases, sólo <strong>de</strong>ben ser visibles <strong>de</strong>s<strong>de</strong> el interior <strong>de</strong> lasclases. Como resultado, para acce<strong>de</strong>r a los valores <strong>de</strong> los atributos utilizaremosmétodos. Esta regla es una manera <strong>de</strong> expresar el <strong>con</strong>cepto <strong>de</strong> Encapsulación,una <strong>de</strong> las piezas centrales <strong>de</strong> la programación orientada a objetos.ConceptoLas clases encapsulan atributos y métodos <strong>de</strong> tal modo que sólo se hace visibleuna parte <strong>de</strong> esos atributos y métodos, los estrictamente necesarios para quepodamos trabajar <strong>con</strong> las instancias <strong>de</strong> esa clase.La respuesta a la pregunta anterior hace surgir una nueva: ¿Cómo restrinjola visibilidad <strong>de</strong> los atributos <strong>de</strong> una clase?, la respuesta es: mediante losModificadores <strong>de</strong> acceso.

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

Saved successfully!

Ooh no, something went wrong!