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!!!.
excelente explicacion
ResponderBorrarExcelente!!
ResponderBorrar