miércoles, 16 de abril de 2014

Java: Encapsulamiento

Que tal programadores!!

Ahora vamos a continuar con lo de encapsulamiento con el tipo de dato PRIVATE, para ello vamos a plantear un diagrama UML, para ejemplificarlo de la mejor forma y es el siguiente:


Este problema nos indica lo siguiente:

Nombre de la clase: Persona
Datos privados: Nombre, Edad, Profesión
Funciones públicas: Mostrar Datos


Cuando se colocan los datos privados quiere decir que únicamente la clase puede tener acceso a esos datos, ni el mismo main puede acceder así que para poder utilizar esos datos vamos a necesitar la ayuda de la palabra THIS que hace referencia a las variables privadas:
SET: Es una FUNCION que nos va a permitir manipularla desde el main, y estamos apuntando hacia la variable que está en modo privado para que pueda ser accesada.
GET: Es una FUNCION que nos va a permitir visualizar la variable si la invocamos desde el main.

Retomando el problema con respecto a los datos privados quedarían de la siguiente forma:

//SET
     public void setNombre(String nombre){
         this.nombre=nombre;
     }
     public void setEdad(int edad){
         this.edad=edad;
     }
     public void setProfesion(String profesion){
         this.profesion=profesion;
     }
//GET
     public String getNombre(){
         return this.nombre;
     }
     public int getEdad(){
         return this.edad;
     }
     public String getProfesion(){
         return this.profesion;
     }

Como se darán cuenta que por cada dato private tenemos un set y un get, para almacenar información en el SET y después mostrarla mediante el GET desde el main.
Ahora para terminar este ejercicio pediremos al usuario estos datos y los pasaremos a los set’s y después los mostraremos mediante los get’s. Y el código quedo de la siguiente manera:
public class Persona {
     private String nombre;
     private int edad;
     private String profesion;
     //SET
     public void setNombre(String nombre){
         this.nombre=nombre;
     }
     public void setEdad(int edad){
         this.edad=edad;
     }
     public void setProfesion(String profesion){
         this.profesion=profesion;
     }
     //GET
     public String getNombre(){
         return this.nombre;
     }
     public int getEdad(){
         return this.edad;
     }
     public String getProfesion(){
         return this.profesion;
     }
     //Función
     public void MostrarDatos(){
         System.out.println(": : :T U S  D A T O S : : :");
         System.out.println("Nombre: "+this.nombre);
         System.out.println("Edad: "+this.edad);
         System.out.println("Profesion: "+this.profesion);
     }
     public static void main(String[] args) {
         Scanner guardar = new Scanner(System.in);
         //Declaramos nuestras variables
         String nomIngresado, profIngresada;
         int edadIngresada;
        
         //Instanciamos nuestro objeto persona
         Persona Hombre = new Persona();
        
         //Pedimos los datos
         System.out.println("Ingresa tu nombre:");
         nomIngresado=guardar.next();
         System.out.println("Ingresa tu edad: ");
         edadIngresada=guardar.nextInt();
         System.out.println("Ingresa tu profesion: ");
         profIngresada=guardar.next();
        
         //Mandamos la informacion a los SET's de cada variable PRIVATE
         Hombre.setNombre(nomIngresado);
         Hombre.setEdad(edadIngresada);
         Hombre.setProfesion(profIngresada);
        
         //Mandamos a llamar la funcion MostrarDatos
         Hombre.MostrarDatos();
     }
}



Resultado Final:


Ahora para mostrar los datos mediante los GET’s es necesario colocar las siguientes líneas dentro del main y quitando el método MostrarDatos.

System.out.println(": : :T U S  D A T O S : : :");
System.out.println("Nombre: "+Hombre.getNombre());
System.out.println("Edad: "+Hombre.getEdad());
System.out.println("Profesion: "+Hombre.getProfesion());


NOTA:
SETTERS: esta función siempre debe aceptar una variable, esta variable puede ser con el mismo nombre o diferente, se recomienda con el mismo nombre. Dentro de esta función colocamos un “this” quiere decir que apuntaremos  a la variable que acaba de recibir y daremos el mismo valor a la variable que se encuentra en modo privado.
GETTERS: Esta función es importante si se desea utilizar en el main, por lo que siempre va a retornar el mismo tipo de dato del que recibió en el SET, y retornara la variable privada para ser mostrada dentro del main.

Muy bien, hasta aquí el post del dia de hoy, espero que les haya gustado y no olvides unirte a nuestras redes sociales FACEBOOK y TWITTER, es GRATIS!!!.


2 comentarios:

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *