关于属性的入门理解

因为我之前都是写VF的,VF中可以在Form中创建任意个属性,我们一般的用途都是用来记录变量,方便在Formset中轮换Form时读取另一张form的变量,但实际上属性并不是这么简单,但也并不复杂,VF中的用法,只是C#中属性的一个典型.

其实属性的最主要作用是:当你想把很多的方法变量都封装在一个类里,而这些方法变量都想通过统一或几个地方来设置,设置后所以的方法都相应变化时,就最好用属性了.

举个例子,我要封装一个类,只要我传入一个人员那么调用PrintRy()和PrintGz()都是当前人员的信息.

  1. public class TestClass
  2. {
  3.         private string ry;
  4.         public string RyPro 
  5.         {
  6.             get 
  7.             {
  8.                 return ry;
  9.             }
  10.             set
  11.             {
  12.                 ry = value;
  13.             }
  14.         }
  15.         public void PrintRy()
  16.         {
  17.             MessageBox.Show("你的姓名是:" + ry);
  18.         }
  19.         public void PrintGZ()
  20.         {
  21.             MessageBox.Show(ry + "的工资是");
  22.         }
  23. }

那么我在程序中引用时只需:

  1. TestClass TC =new TestClass();
  2. TC.RyPro="Jackon";                //设置属性
  3. TC.PrintRy();          //显示你的姓名是Jackon
  4. TC.PrintGZ()           //显示Jackon的工资是

以上只是一个简单应用.

下面讲一下get 和 set的作用.

可能是我一直都是写VF多,所以不太容易理解get的作用,网上也很少提示get的作用是什么(可能是我太菜了,其实根本就不用明说,呵呵.)

其实get是指该属性传入值后的最终显示值,可能这样说不太易明,举个例子

 拿上列举例如果在引用时最后加一个

MessageBox.Show(TC.RyPro);

会显示值为Jackon
 这是因为在定义get时是return ry的值,如果把get中的语句改为return "AAA",也就是如下

  1.       public string RyPro 
  2.         {
  3.             get 
  4.             {
  5.                 return "AAA";
  6.             }
  7.             set
  8.             {
  9.                 ry = value;
  10.             }
  11.         }

那么在设置属性值后MessageBox.Show(TC.RyPro)会显示AAA,也就是说你就传把TC.RyPro赋值为Jackon,但赋值后他的属性值仍然是AAA.

 

而set可以简的理解为装传入值进行处理,而其中的value就是传入的属性值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值