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方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。