Visual Basic.NET - ¿Para que usar gets y sets?

 
Vista:

¿Para que usar gets y sets?

Publicado por Jorge (12 intervenciones) el 08/06/2009 16:00:02
Saludos a todos los del foro. Cunado aprendi alo de la programación orientada a objetos en java siempre utilizaba los famosos getters y setters al crear una clase, ahora que ando en el mundo de VB.NET y C#.NET, se me ha olvidado el utilizarlos, pero lo que no se es que diferencia hay el utilizar estos metodos al no usarlos, poque bien puedo tener en mi clase empleado:

Public Nombre as String
Public Sueldo as Integer

y en cualquier otra clase declararla y recuperar sus valores y asignarlos:

Dim E as new Empleado()
E.Nombre = "Juan Perez"
E.Saldo = 5000
txtNombre.Text = E.Nombre
txtSaldo.Text = E.Saldo

Todo funciona perfectamente, entonces para que usar los gets y sets, ¿alguien pudiera explicarmelo?
Se los agradezco mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Para que usar gets y sets?

Publicado por XPro (29 intervenciones) el 08/06/2009 18:27:47
Saludos colega,

En primer lugar la terminologia get y set es simplemente convencion para que la comunidad de programadores utilize un solo standard de programación. En cuanto a la utilidad que tiene lo getters y setters está la encapsulación, declaras las variables privadas y las manejas a traves de metodos para poder validar lo que el usuario asigna a las variables, evitando que el valor de la variable sea asignado de manera directa.

En el siguiente ejemplo las variables se declaran como privadas y a traves de metodos setters se le asignan los valores y con los metodos getters se obtienen los valores. Observa como se valida la edad en el metodo setEdad() para que la edad no sea menor que 0.

Otra cosa: "La proxima vez entra al foro de java o C#"

public class Persona {
private String nombre;
private int edad;

public void setNombre(String n){
nombre = n;
}

public String getNombre(){
return nombre;
}

public void setEdad(int e){
if(e < 0){
System.out.println("Edad invalida");
}else{
edad = e;
}
}

public int getEdad(){
return edad;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar