I am creating a simple User class, does it matter if I use public properties with private fields verses just using public fields?
Here is an example of what I mean:
public class clsUser
{
private string name;
private string lName;
public string Name
{
get
{
return name;
}
set
{
name= value;
}
}
public string LName
{
get
{
return lName;
}
set
{
lName= value;
}
}
public clsUser(string userID)
{
//get the user id here and set the properties
this.name= getName(userID);
this.lName= getLName(userID);
}
}
or can I just make
public string name;
public string lName;
public
and now worry about typing out all of these:
public string Name
{
get
{
return name;
}
set
{
name= value;
}
}
I am then going to populate a form using these on another page like so:
clsUser cUser - new clsUser("myid");
txtSomething.Text = cUser.name;
and so on...
I guess my question is why do I need to retype the properties first as private and then as public (as I've seen in all web examples). Why not just make them public to begin with?