Bueno según lo ke tengo entendido es ke el get y set sirve aparte de encapsular los atributos, para impedir ke una variable tome un valor ke no kerámos
por ejemplo tengo un formulario con un solo campo de texto, en ese form lo ke kiero es validar ke el usuario haya escrito su nombre.
tengo la sig clase usando Get y set y validando el campo del texto en el set:
Código:
public class GetYSet2
{
private string nombre;
public GetYSet2(string nom)
{
nombre = nom;
}
public string Nombre
{
get
{
return nombre;
}
set
{
if (nombre == "")
nombre = "Errorrrrrrrrrrrrr";
else
nombre = value;
}
}
}
ahora mi formulario tiene un boton con esto:
Código:
private void button1_Click(object sender, EventArgs e)
{
GetYSet2 obj = new GetYSet2(textBox1.Text);
obj.Nombre=textBox1.Text;
MessageBox.Show(obj.Nombre);
}
si kito este pedaso:
Código:
obj.Nombre=textBox1.Text;
el programa no me hace la validacion y si el usuario no ingresa nada, al darle click en el boton no me aparece nada de nada
ahora haciendo lo mismo pero con funciones tengo la misma clase get yset de este modo:
Código:
public class GetYSet
{
private string nombre;
public GetYSet(string nom)
{
Nombre(nom);
}
public string Nombre()
{
return nombre;
}
public void Nombre(string value)
{
if (value.Length == 0)
nombre = "Error";
else
nombre = value;
}
}
y mi boton del form principal de este modo:
Código:
private void button1_Click(object sender, EventArgs e)
{
GetYSet obj = new GetYSet(textBox1.Text);
MessageBox.Show(obj.Nombre());
}
como pueden ver es mucho mas corto ke el anterior.
Bueno entonces mi pregunta es para ke diablos sirve los gets y sets si solo me están haciendo mas dificil la vida y un codigo con mas lineas
espero me respondan
salu2