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