martes, 7 de agosto de 2012

Modificadores de Visibilidad

Paquetes.
Antes de impartir los conceptos que en realidad son interés de esta nota, vale la pena mencionar unos pre-conceptos. Por ejemplo, los paquetes. ¿Qué son? Podríamos hacer una  sutil analogía con lo que son las carpetas.  Los paquetes permiten establecer un nombre único para las clases y ayudan a la organización de dichas clases.
Palabras claves: import  java.util.*; y package py.com.miPaquete.miClase;
Cada vez que creamos un paquete, lo que sucede por detrás es generarse una estructura de directorios, correspondientes al paquete. 
Ejemplo: 
             Paquete: py.com.miPaquete
             Directorio: py/com/miPaquete

Modificadores de Visibilidad
En lo que concierne a los modificadores de visibilidad o de acceso, el objetivo principal el lograr el encapsulamiento, controlando  o prohibiendo el acceso a los atributos o elementos de una clase.
Pueden usarse para establecer la visibilidad de: clases, métodos y variables.
En java podemos mencionar 4 tipos de modificadores, éstos, como su nombre lo indica, "modifican" o determinan la "visibilidad" o el acceso a un cierto elemento, son:

   1.) public: visible dentro y fuera del paquete. Los métodos y las variables, son heredados por todas las subclases o hijas de la clase. Accesibles desde cualquier lugar.
Ejemplo:
                   public class persona 
                   {
                            public int dni;
                            public void registrar ()
                            {
                                  .........
                            }
                   }

    2.) private: visible sólo desde el interior de la clase. No son heredados por ninguna sub-clase. No son accesibles desde ninguna otra clases, por más que estén en el mismo paquete.
                   public class persona 
                   {
                            private int dni;
                            privete void registrar ()
                            {
                                  .........
                            }
                   }


    3.) protected: visible desde el interior de la clase y desde las clases heredadas (sub-clases o hijas). 
                   public class persona 
                   {
                            protected int dni;
                            protected void registrar ()
                            {
                                  .........
                            }
                   }
   4.) friendly o default: (sin palabra clave) visible desde cualquier clase en el mismo paquete. 

                   public class persona 
                   {
                            int dni;
                            void registrar ()
                            {
                                  .........
                            }
                   }


Todos estos modificadores se pueden combinar a gusto y necesidad, dependiendo de lo que desea lograr.  Ejemplo:


     public class personas
     {
           public String nombre;
           public String apellido;
           private int dni;
           
           private void registrar ()
           {
                 ...............
           }

           public void verDatos ()
           {
                   ................
           }
     }




1 comentario: