C#是一门面向对象语言, 封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问,这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性。

当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,

1、构造函数

第一种即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。

2、set和get方法

第二种就是通过上面提到的set和get方法

使用成员变量,若定义为private,则不可读,且不可写,该成员只能同过构造函数传值,其他情况无法使用。
若定义为public, 则可读又可写,不安全。
**若想可读不可写,或可写不可读,**就体现出get/set方法的用处了

public class UserInfo
{
//定义 用户ID 字段
private int userid;
public int UserID
{
get { return userid; }
set { userid = value; }
}
}

我定义一个Person类,该类中有userid这个私有域变量,然后我定义set()、get()、这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。