unity3D脚本C#的get,set的用法

C#是面向对象编程,在面向对象编程(OOP)中,是不允许外界直接对类的成员变量直接访问的,既然不能访问,那定义这些成员变量还有什么意义呢?所以C#中就要用set和get方法来访问私有成员变量,它们相当于外界访问对象的一个通道,一个“接口”

    我们通过一个实际的例子讲解get与set的意思,下面的代码中,建立了一个叫银行的类。一个是私有变量,用小写money表示,公共变量用大写MONEY表示,money通过MONEY这个变量建立与外界访问的接口。

class Bank
  {
        private string menoy;
        public string MONEY 
        {
            //GET访问器,可以理解成另类的方法,返回已经被赋了值的私有变量a
            get { return menoy; }
            //SET访问器,将我们打入的值赋给私有变量money
            set { menoy= MONEY; }
        }
       
  }

接下来我们建立一个主函数,共有3个操作,1、开办农业银行2、在农业银行里中存钱200块3、查询余额。

class Program
    {
        static void Main(string[] args)
         {
            //开办一个农业银行
            Bank ABC = new Bank();

            //存钱200,这时我们访问的是SET访问器
            ABC.MONEY = 200;

            //余额查询,这时我们访问的是GET访问器
            int a = ABC.MONEY;
         }
    }

 并不是说get ,set的含义难理解,而是为什么要用?为何不直接用个public的字段变量来代替呢?

因为用了GET和SET能让赋值和取值增加限制,比如在农业银行里存钱和查询余额的时候,要先输入密码,才能访问私人账户,作用与之类似,这里不详细举例。

猜你喜欢

转载自blog.csdn.net/u012812784/article/details/83007845